记录一次如何管理多个 SSH 密钥, GitHub 多个账号多个密钥如何区分管理问题。
为什么需要
经常需要通过 SSH 连接到多个远程系统,需要记住所有远程 IP 地址、不同的用户名、非标准端口…
- 公司需要用到 GitHub 进行开发。并且使用公司邮箱和账号。
- 另外自己也有一个个人的 GitHub 账号。
- 自己的 NAS 服务器也需要使用 SSH 密钥的方式登录。
创建 SSH 密钥
进入目录 cd ~/.ssh
1 | ssh-keygen |
接下来会提示你输入一个文件名来保存你的SSH key, 如果不输入直接回车, 则会保存在默认的文件里 id_rsa.pub
然后会提示你输入 passphrases 连续输入两次,这里我默认选择空。(直接两个回车就好了)
添加 config 文件
1 | Host nas |
注意一定要设置 config 文件的权限, 否则使用 SSH 时会提示安全错误。
1 | sudo chmod 700 config |
可以通过下面命令进行测试, 观察日志中是否出现 You’ve successfully authenticated, 字段。
1 | ssh -T git@company # 测试公司账号 |
使如何用
使用 SSH 克隆 github 项目 git@github.com:Wxh16144/img.git
, 需要修改 git@github
为 git@myself
;
1 | git clone git@github.com:Wxh16144/img.git # github 复制过来的命令 |
1 | ssh nas # 连接 NAS 终端 |