Git配置SSH
在新的公司总是各种忙碌,但是忙碌的生活让自己充足。这些就不扯了,讲点ssh的哈,配置ssh没有想象中的那么难,只是你不了解哈。ssh的好处就不多赘述了,直接开始干货。
检测是否已经存在key以及配置key
检测key
cd ~/.ssh #对应的文件夹
ls #目录
如果存在(id_rsa.pub 或 id_dsa.pub文件)则跳过生成key进入显示key。
生成key
若未存在则生成新的key:
ssh-keygen -t rsa -C "your_email@example.com"
代码参数含义:
- t 指定密钥类型,默认是 rsa ,可以省略。
- C 设置注释文字,比如邮箱。
- f 指定密钥文件存储文件名。
以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码,如:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/zhouyonggui/.ssh/id_rsa):
当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。
接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了,如:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
下一步:
Your identification has been saved in /Users/zhouyonggui/.ssh/id_rsa.
Your public key has been saved in /Users/zhouyonggui/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:c+MJV8oBO4cCTyzk2uOztyzDABtcemYaCtWjx/3FyaU daverzhou98@gmail.com
The key's randomart image is:
+---[RSA 2048]----+
| oo.. . |
| .o++. + . |
|..oo.+o +oo+. |
|++.*o .. +E+ |
|o+B.o .S.* |
|o... . .* o |
| oo o |
| ++. |
| .+o. |
+----[SHA256]-----+
显示key
已存在,进入编辑获取对应的key:
cd ~/.ssh
vim id_rsa.pub
当然还可以更简单粗暴点直接pbcopy
:
pbcopy < ~/.ssh/id_rsa.pub
添加SSH key到GitHub or GitLab
添加SSH key到GitHub
- 首先你需要拷贝 id_rsa.pub 文件的内容,你可以用编辑器打开文件复制,也可以用git命令复制该文件的内容,如:
clip < ~/.ssh/id_rsa.pub
-
登录你的github账号,从右上角的设置( Account Settings )进入,然后点击菜单栏的 SSH key 进入页面添加 SSH key。
-
点击 Add SSH key 按钮添加一个 SSH key 。把你复制的 SSH key 代码粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。当然,上面的 Title 所对应的输入框你也可以输入一个该 SSH key 显示在 github 上的一个别名。默认的会使用你的邮件名称。
添加SSH key到GitLab
- 拷贝id_rsa.pub
- 登录GitLab账号,从右上角
Profile
进入SSK Keys
添加key
测试SSH
#GitHub
ssh -T git@github.com
#GitLab
ssh -T git@gitlab.com
当你输入以上代码时,会有一段警告代码,如:
The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':
密码正确后你会看到下面这段话,如:
Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.
总结
总的就这些了,简单粗暴没多少东西哈基本就是一个步骤流程化就行了。如果在配置有疑问可以留言哈。