生成sshkey
ssh-keygen -t rsa -C "[email protected]"
ssh-agent
ssh-agent是密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候默认将验证申请交给ssh-agent来完成整个认证过程,用来帮助免密登录。(命令说明)
方案一:手动添加key
ssh-agent开启后通过ssh-add将多个sshkey添加到代理中。
ssh-agent -s ## 或ssh-agent bash --login -i,进入bash窗口
ssh-add ~/.ssh/my_rsa //私钥地址
方案二:直接配置config文件(没有则在~/.ssh目录下创建)
# x.x.x.x
Host my #别名
HostName x.x.x.x #登录主机ip或域名
User root #登录用户名
PreferredAuthentications publickey
IdentityFile ~/.ssh/my_rsa #私钥地址
然后使用
ssh my #别名连接,注意:只能用别名来连接。
例如:
Host gitlab #别名
HostName gitlab.com #登录主机ip或域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/my_rsa #私钥地址
连接:
# 不能用git@gitlab.com,因为别名是gitlab
# 因此可以将Host和HostName写成一样的就好了。
git clone git@gitlab:MyProject
方案三:最粗暴,就是将本机的所有sshkey都添加到目标机中,这样也能ssh访问通过。