需求
本机原先有一个 ssh key 用于 github 管理,现需要另外一个 key 来管理 openshift 上的应用。
由于某些原因将 .ssh/ 下文件全删了,然后 openshift 的 sshkey 生成成功。
现在需要重新为 github 生成一对密钥,即本机需要管理两对密钥。
生成第二个 ssh key
由于只有一个用户,所以 git 中的用户名和邮箱暂不修改。
注意:管理多个 sshkey 时,不能使用 –gobal 等全局的参数,而需要 –local 这样的参数。
1. 新建 SSH key1
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "key for Github"
2. 将新生成的 ~/.ssh/id_rsa.github.pub 文件内容添加到 GitHub 后台
3. 新密钥添加到 SSH agent 中
因为默认只读取 id_rsa,为了让 SSH 识别新的私钥,需将其添加到 SSH agent 中:1
$ ssh-add ~/.ssh/id_rsa.github
4. 新增 ssh 的配置文件,并修改权限
(如果存在则跳过)1
2$ touch ~/.ssh/config
$ chmod 600 ~/.ssh/config
5. 添加 config 文件内容1
2
3
4
5
6
7Host *.github.com
User username
IdentityFile ~/.ssh/id_rsa.github
Host *.openshift.com
User username
IdentityFile ~/.ssh/id_rsa
6. 验证1
2$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
至此,完成。日后如需添加,则按照上述步骤生成key,并修改config文件即可。
参考链接:
多 github 帐号的 SSH key 切换
Github Help -SSH / Generating SSH keys