SSH key生成
ssh key生成
ssh-keygen -t rsa -C "xxx@xxx.com"
此时会提示保存key的名字及路径,我们只需要自定义key的名字(路径)即可。
Enter file in which to save the key (/Users/caichenghan/.ssh/id_rsa):
填写自定义路径
/Users/caichenghan/.ssh/id_rsa_github
输入密码生成 ssh key
,可直接按Enter进入生成。
查看生成的ssh key
cd /Users/caichenghan/.ssh
ls
目录下会多出2个文件,分别为 id_rsa_github
、 id_rsa_github.pub
,前者为私钥,后者为公钥,我们只需要把公钥上传到github账户的公钥管理中即可。
我们还可以使用Finder查看该路径:Finder->右键->前往文件夹-> ~/.ssh
查看公钥
cat ~/.ssh/id_rsa_github.pub
可查看名为 id_rsa_github.pub
的公钥,将其复制下来。
公钥管理
打开Github
或者自己的git管理页
面,在个人中心
找到公钥管理
,添加制作的公钥,保存。
ssh key 配置文件制作
配置文件制作
vim ~/.ssh/config
配置 github
的ssh key
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
# oschina
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee
# 其它
...
其中 Host
为站点; HostName
为站点名; PreferredAuthentications
为优先使用公钥连接; IdentityFile
,私钥路径。
如果站点为 ip地址
,则用 ip地址
代替 域名
即可。
账户验证
ssh -T git@github.com
格式为git@域名
Hi xxx! You've successfully ...
配置成功
如果有如下提示
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?
键入yes
即可。
如果仍旧报错,可删除 ~/.ssh
目录下的 known_host
文件里对应的站点公钥信息,然后重新账户验证。
同理,我们还可以继续添加其它账号的 ssh key
,这样就可以同一台电脑,使用多个 ssh key
免密码的git操作了。