目录
生成多个密钥
-
生成多个密钥,生成时修改密钥文件的文件名
ssh-keygen -t rsa -C "邮箱"
注意上述命令执行完之后第一个输入要求的是输入的保存的文件名
示例:
ssh-keygen -t rsa -C "[email protected]" # 保存的时候可以选择保存文件的名称设置为 fork_hodlyounger_ssh_key # 接着执行另外一个账号 ssh-keygen -t rsa -C "公司邮箱" # 保存的时候可以选择保存文件的名称设置为 id_rsa
-
添加密钥
# 切换 ssh-agent bash # 添加 ssh-add ~/.ssh/fork_hodlyounger_ssh_key ssh-add ~/.ssh/id_rsa
-
将密钥添加到账户中
使用
cat
查看对应账户的pub
文件。将其内容添加到账户中。 -
添加本地配置文件
添加本地配置文件用以区分密钥在哪个git中使用,配置如下所示
配置文件更详细的说明可以参考这篇文章 Git:单台电脑同时配置多个git账号 - 怒吼的萝卜 - 博客园
# 这个是我私人的GitHub
Host github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/fork_hodlyounger_ssh_key
# 这个是公司的GitLab
Host git-biz.cn
HostName git-biz.cn
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
配置文件补充说明
# 这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost
Host
# 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
HostName
# 服务器open-ssh端口(默认:22,默认时一般不写此行)
Port
# 配置登录时用什么权限认证
# 可设为(publickey, password publickey, keyboard-interactive 等)
PreferredAuthentications
# 证书文件路径(如~/.ssh/id_rsa_*)
IdentityFile
# 云端仓库登录用户名
User
校验
简单点就是ssh:
ssh -T "[email protected]"
返回 Hi (用户名)! You've successfully authenticated, but GitHub does not provide shell access.
开头样式的表示添加密钥成功了。