ssh配置多台机器免密登录

本文详细介绍了一种在五个虚拟机之间实现SSH免密登录的方法。通过生成RSA类型的密钥对,并将公钥添加到各节点的authorized_keys文件中,实现了虚拟机之间的互信登录。此外,还介绍了如何在多台机器间同步密钥文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近需要用到ssh免密登录,之前对公钥私钥这些东西不是很清楚,不过后来配置成功,现在有时间记录下来防止遗忘。
首先说下,这里一共五个虚拟机,ip地址只有最后三位不同。

1 .首先在五个虚拟机上都执行 ssh-keygen这个命令,这里后面加上 -t rsa不是必须的,以为这里默认生成的密钥类型就是rsa类型
这里写图片描述

2 .一路按y,其他按回车生成密钥,位置在/root/.ssh下面
这里写图片描述

3 .接下来在master节点,也就是第一台虚拟机上进入/root/.ssh目录,将生成的公钥id_rsa.pub放入到同级的authorized_keys文件
这里写图片描述

4.在剩下的四台机子上把生成的公钥id_rsa.pub拷贝到第一台机子上
这里写图片描述

5.将第一台机子的authorized_keys拷贝到其他四台机子上
这里写图片描述

6.将第一台的known_hosts拷贝到其他四台机子上
这里写图片描述

7.接下来可以用ssh root@xxx.xxx.xxx.xxx这种进行互登进行测试了,此时不需要密码,说明配置成功。
这里写图片描述

8 .个人经验有所不足,如果有什么纰漏欢迎指正,谢谢

### 解决SSH配置免密登录错误 当遇到SSH配置免密登录失败的情况时,通常可以从以下几个方面排查并解决问题: #### 1. 验证公钥和私钥文件权限设置 确保`.ssh`目录及其下的所有文件具有正确的权限。对于私钥文件(如`id_rsa`),应仅允许用户读取;而对于公钥文件(如`authorized_keys`),则可以放宽到其他用户的读取权限。 ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/authorized_keys ``` #### 2. 检查服务器端SSHD配置 确认远程主机上的`sshd_config`文件已正确配置以支持基于密钥的身份验证,并重启服务使更改生效[^1]。 ```bash sudo vi /etc/ssh/sshd_config # 确认以下选项未被注释且值为yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no sudo systemctl restart sshd ``` #### 3. 客户端生成密钥对并向目标机器发送公钥 如果之前未曾创建过密钥对,则需先通过命令行工具完成此操作。之后利用`ssh-copy-id`指令将本地计算机上产生的公共部分复制给另一台设备。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ssh-copy-id user@remote_host_ip_address ``` #### 4. 测试连接有效性 尝试不带密码参数直接访问对方节点来检验是否成功实现了无交互式的会话建立过程。 ```bash ssh user@remote_host_ip_address ``` 以上措施能够有效帮助排除大多数常见的SSH免密登录障碍。若仍存在特定场景下无法正常工作的状况,建议进一步查看日志记录获取更详细的诊断信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦岚如雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值