Linux 主机间ssh相互免密
- 两步实现ssh主机免密
- 详细教程请往下看
- 主机间ssh相互免密 —— 方法一
- 主备两台未配置密钥主机作为测试
- 生成公私密钥
- 拷贝公钥到目标主机
- ssh免密测试
- 主机间ssh相互免密——方法二
- 实验准备
- 分发密钥对
- 免密测试
- MobaXterm免密登录服务器(以ecs-4207主机为例)
- xshell免密登录服务器(以ecs-4207主机为例)
两步实现ssh主机免密
ssh-keygen -N '' -f /root/.ssh/id_rsa
ssh-copy-id root@ecs-4208
效果图下
已经很久没有更新博文了,今天水一篇
详细教程请往下看
主机间ssh相互免密 —— 方法一
主备两台未配置密钥主机作为测试
查看主机密钥对
生成公私密钥
ssh-keygen -N '' -f /root/.ssh/id_rsa
# -N 设置私钥文件密码,这里设置为空;
# -f 指定私钥指定生成的秘钥文件名,如果不提供此参数则使用默认文件名,如rsa私钥默认文件名 ~/.ssh/id_rsa ,公钥默认文件名 ~/.ssh/id_rsa.pub
# 其他可选参数:
# -t 加/解密算法
# -b 秘钥长度,rsa默认秘钥长度的为 2048
# -C 注释,一般是填写用户名
ssh-keygen -N '' #此方法需要交互
拷贝公钥到目标主机
ssh-copy-id root@ecs-4208
#将ecs-4207主机的公钥拷贝到ecs-4208,完成此步骤,即ecs-4207主机能免密ssh到ecs-4208主机
ssh免密测试
ssh-copy-id root@ecs-4207
#同时ecs-4208主机也生成公私钥,将ecs-4208主机的公钥拷贝到ecs-4207,操作完成后两台主机即可相互免密ssh
主机间ssh相互免密——方法二
实验准备
本次实验在第一个实验基础上进行,删除ecs-4208主机拷贝到ecs-4207主机的公钥,ecs-4208主机无法免密ssh到ecs-4207主机(以ecs-4207主机为例)
ssh root@ecs-4207
#登陆失败,证明目标主机authorized_keys文件中的公钥已被清除
分发密钥对
将自身公钥写到authorized_keys文件中,这里以ecs-4207主机为例
cat id_rsa.pub > authorized_keys
对比authorized_keys和id_rsa.pub文件内容无差异;
注意: 如果authorized_keys文件非空,请使用追加重定向或在操作前先备份authorized_keys文件,不要随意在生产服务器操作。
将私钥拷贝到源主机ecs-4208(即需要免密登录到目标ecs-4207主机)
rsync -av id_rsa root@ecs-4208:/root/ecs-4207id_rsa
#将私钥id_rsa拷贝到ecs-4208主机root目录下
到ecs-4208主机下查看,可以看到文件考成功
免密测试
测试ecs-4208主机免密ssh到ecs-4207主机,此方法需要指定私钥文件,如不指定则默认使用源主机当前用户家目录下如rsa私钥文件名 ~/.ssh/id_rsa (以ecs-4207主机为例)
ssh root@ecs-4207
#登录失败,证明ecs-4208主机私钥不适用
ssh -i ecs-4207id_rsa root@ecs-4207
#-i 指定私钥文件名
MobaXterm免密登录服务器(以ecs-4207主机为例)
将ecs-4207主机私钥id_rsa文件下载,并保存到指定位置
按照下图操作
成功登录
xshell免密登录服务器(以ecs-4207主机为例)
将ecs-4207主机私钥id_rsa文件下载,并保存到指定位置
按照下图操作
注意: 本案例ecs-4207主机在生成私钥时未设置私钥文件密码,则不需要输入密码,直接确定即可。
成功登录