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
相关推荐
各类产品分享1 小时前
什么是AR智慧运维系统,主要能解决什么问题
运维·ar·ar智慧运维解决方案
RisunJan1 小时前
Linux命令-skill(发送信号给进程)
linux·运维·服务器
潘正翔1 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes
Echo flower2 小时前
Docker 容器中 Puppeteer 僵尸进程排查与修复
运维·docker·容器·puppeteer
骊城英雄2 小时前
彩笔运维勇闯机器学习--逻辑回归
运维·机器学习·逻辑回归
孪生质数-2 小时前
AI 应用实践篇——让大模型真正开始工作
linux·运维·服务器·人工智能·深度学习·语言模型·llama
Splashtop高性能远程控制软件2 小时前
连锁零售多门店远程运维指南:从故障响应到批量运维的四项能力
运维·零售·远程控制·splashtop
瞬间&永恒~2 小时前
【MySQL】 InnoDB 锁等待排查与并发压测实验
运维·数据库·mysql
江湖有缘3 小时前
Docker实战 | 使用Docker部署Donetick任务与家务管理应用
运维·docker·容器
流星白龙3 小时前
【Docker】4.NameSpace空间隔离实战
java·运维·docker