在新的公司总是各种忙碌,但是忙碌的生活让自己充足。这些就不扯了,讲点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.
总结
总的就这些了,简单粗暴没多少东西哈基本就是一个步骤流程化就行了。如果在配置有疑问可以留言哈。