最近由于为了方便工作,研究了下使用ssh的方式克隆项目。其中遇到了一些坑,在这里做个分享。(这篇文章是针对MAC系统和Linux系统)
首先打开本地控制台,输入
ssh-keygen -t rsa -C "[your_mail]" -f ~/.ssh/[custom_name]
your_mail 表示你的邮箱地址。
custom_name 表示公钥私钥的名称。[-f ~/.ssh/xxx]可选,默认名称为id_rsa
- 这时候你可以在
~/.ssh
下,找到名为id_rsa
和id_rsa.pub
两个文件。其中id_rsa
为私钥,id_rsa.pub
为公钥。 - 执行
cat ~/.ssh/id_rsa.pub
,复制id_rsa.pub
的内容 - 打开gitlab,找到
头像 -> settings -> SSH Keys
,然后将id_rsa.pub
的内容复制到key
字段中。 - title可以随便填写。最后点击add key按钮。这时候所有操作都已经完成。可以试试。
测试是否成功:
ssh -T [gitlab地址]
# 比如访问github的地址 ssh -T git@github.com
# 如果需要将详细信息打印出来,可以使用指令 ssh -T -v git@github.com
# Welcome to GitLab, xxx!
说明已经成功。
如果还提示需要输入密码
可能是因为没有将私钥添加到ssh-agent中,可以使用指令
# 将id_rsa添加进ssh-agent管理器中
ssh-add ~/.ssh/id_rsa // 会将私钥保存到ssh-agent指定的session中,重启会导致ssh-agent服务重置
或者
ssh-add --apple-use-keychain ~/.ssh/id_rsa // 如果是Mac用户,保存到keychain,达到永久保存的目的
这时候基本都能测试通过了。
github的操作也是同理。
PS:ssh-agent是ssh的一个私钥管理工具。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。