背景
1.最近需要迁移代码,因此为了安全与方面需要为不同的代码仓库设置不同的ssh公钥私钥对
生成秘钥
ssh-keygen -t rsa -b 1024 -f yourname -C "xxx@gmail.com"
注册秘钥
#ssh-agent激活,ssh-agent是验证公钥私钥对的执行者。ssh-agent可以记录不同的公钥私钥对的密码,可以避免多次输入密码。
#启动
eval $(ssh-agent -s)
#上面的命令也可以转换为ssh-agent $SHELL来启动agent。
#将私钥添加到agent的代理范围内,这样可以避免多次输入密码
ssh-add ~/.ssh/ssh_rsa
#上面语句中用的是私钥
#可以通过ssh-add -l来查询已经被代理的秘钥,注:虽然有时候我的显示为空,但是不影响公钥和私钥的使用
配置秘钥对
#当需要为不同的仓库或者服务器设置不同的秘钥的时候可以参考这里,比如github仓库,gitlab仓库等,这里说的仓库指的是一个域名对应一个仓库,比如github.com,gitlab.com,不过一个仓库可以对应多个秘钥对。
#设置密钥对的时候需要用~/.ssh/config文件,设置的格式如下
Host gitlab.xtalpi.xyz
HostName gitlab.xxx.xyz
User xxx
IdentityFile /data/personal/xxx/.ssh/gitlab_company
#Host之后为自己定义的仓库名(自定义即可)
#HostName之后给定的是仓库的域名或者公网IP
#User指定仓库对应的用户名
#IdentityFile指定的是私钥文件的绝对路径