ssh配置-使用本地多个私钥连接多个账户的github rsa认证

ssh配置多个域多个账号
在一台电脑上配置git 多个账号私钥
需求: 有多个git账号, 要在本地使用ssh登录, 默认只使用~/.ssh/id_rsa 私钥, 也就是只能一个账号能使用, 而且, 还不是只有github, 还有gitee, gitlab 等, 那么会有很私钥

解决方式下面提供两种
第一种:通过ssh-add 把私钥添加到ssh-agent session中, 这种仅仅是临时的, 会话级别, 每次使用都要添加一下, 比较麻烦,但是呢, 可以把执行的命令, 写成自动动化的, 让自动执行.

第二种: 通过配置~/.ssh/config 配置文件来达到效果

# 具体: 不要用windows CMD 用git bash
# 首先生成公钥跟私钥 (ssh-keygen 在git安装目录下的usr/)
ssh-keygen -t rsa -f ~/.ssh/github_itkuke -C "[email protected]"
ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "[email protected]"

将公钥内容, 添加到对应(github, gitee, gitlab) 等远程服务器SSH keys 中, 然后进行下面的操作
(不要复制,复制的会有问题, 建议使用输出重定向方式追加到/home/git/.ssh/authorized_keys中)
例: cat github_phpzx_rsa.pub >> /home/git/.ssh/authorized_keys

第一种参考:
# 将github_itkuke私钥添加到ssh-agent 的session中
# 会话级别, 只在当前客户端管用, 重打开一个不管用, 重启后也失效
eval `ssh-agent`
ssh-add ~/.ssh/github_itkuke

# 查看
ssh-add -l

第二种: 在 ~/.ssh 目录下 新建 config文件,及设置好权限, 写入配置
这种好处是永久的, 所有基于ssh的连接都会走这个流程,会携带对应的私钥去验证.
参考内容:
Host gitlab
  HostName 58.87.95.128
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab_dongzhihong_rsa

# [email protected]:phpzx/xxxx.git
Host github.com
  User git
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/github_phpzx_rsa

# git@github-phpzx:phpzx/xxx.git
Host github-phpzx
User git
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_phpzx_rsa

# git@github-itkuke:itkuke/xxx.git
Host github-itkuke
  User git
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/github_itkuke_rsa

  
特别说明一下:
配置了config, remote 地址也要改变
例如: 原来 [email protected]:itkuke/baidu.naotu.git对于这个配置 就要改变为 git@github-itkuke:/itkuke/baidu.naotu.git如图:

.ssh/目录截图

github SSH keys 配置截图:

/END




猜你喜欢

转载自blog.csdn.net/Dong_Alex/article/details/80813816