SSH多秘钥管理

一.生成新SSH密钥

打开 Git Bash,使用以下命令,其中邮箱替换为有效地址。

ssh-keygen -t rsa -b 4096 -C "xx@qq.com" #文件改为id_rsa1,id_rsa1.pub
ssh-keygen -t rsa -b 4096 -C "yy@qq.com" #文件改为id_rsa2,id_rsa2.pub

二.服务器端添加公钥

在多个服务器端,分别手动添加SSH对应的pub key内容。

三.客户端启动SSH agent,添加秘钥

#1.shell下启动ssh agent
eval "$(ssh-agent -s)"
#2.复制id_rsa1和id_rsa2到 ~/.ssh目录,并执行如下命令
ssh-add ~/.ssh/id_rsa1
ssh-add ~/.ssh/id_rsa2

四.客户端SSH配置管理

#1.建立配置文件
touch ~/.ssh/config 

#2.config文件添加如下内容
# server1
Host first.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa1

#server2
Host second.com
    HostName xxxxx.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa2

五.验证登录和下载

ssh -T git@github.com #测试服务器登录
git clone git@github.com:git/git.git #使用实际仓库地址,验证代码下载

六.常见问题

常见问题:windows下,git代码下载后,编译报错。

原因:windows自动转换linux文件的回车换行及文件结束符。解决方法:

#1.全局仓库配置,只需运行一次
git config --global core.autocrlf false
git config --global core.eol lf
#2.检查配置是否起效:
git config --global core.autocrlf
git config --global core.eol
相关推荐
m0_7421554310 分钟前
linux进程通讯-信号处理介绍
linux·运维·信号处理
weixin_4462608535 分钟前
PDF翻译自动化:利用Make打造反思翻译工作流
运维·pdf·自动化
黑客老李2 小时前
一次使用十六进制溢出绕过 WAF实现XSS的经历
java·运维·服务器·前端·sql·学习·xss
圆️️2 小时前
【故障处理】ORA-19849 ORA-19612 0RA-17627 ORA-03114
运维·数据库·oracle
爱北的琳儿2 小时前
CentOS7清理大文件(/dev/vda1几乎接近于满状态)
运维·服务器
阿里云云原生2 小时前
云消息队列 ApsaraMQ Serverless 演进:高弹性低成本、更稳定更安全、智能化免运维
运维·安全·serverless
一个高效工作的家伙2 小时前
安装mariadb+galera搭建数据库集群
运维·服务器·数据库
能源革命9 小时前
MongoDB-7.0.15安装(CentOS7)
运维·数据库·mongodb
自信人间三百年11 小时前
从零开始学Docker(一)-镜像列表访问不到问题
运维·docker·容器
m0_7482411212 小时前
集成开发环境GoLand安装配置结合内网穿透实现ssh远程访问服务器
运维·服务器·ssh