Linux如何配置两台主机互免密认证
要在两台主机之间实现免密认证,您可以按照以下步骤进行操作:
在第一台主机上生成密钥对:
ssh-keygen
按照提示一路回车即可生成密钥对,默认会生成
id_rsa
和id_rsa.pub
两个文件。将第一台主机生成的公钥复制到第二台主机上:
ssh-copy-id user@second_host
其中
user
是第二台主机的用户名,second_host
是第二台主机的 IP 地址或主机名。执行该命令后,系统会要求您输入第二台主机的密码。重复上述步骤,在第二台主机上生成密钥对并将公钥复制到第一台主机上。
确保两台主机上的
~/.ssh/authorized_keys
文件包含了对方的公钥。您可以使用以下命令检查和更新该文件:ssh-copy-id -i ~/.ssh/id_rsa.pub user@second_host
确保将
user
替换为对应的用户名,second_host
替换为对应的主机地址。确保两台主机上的
~/.ssh/authorized_keys
文件权限正确设置为 600:chmod 600 ~/.ssh/authorized_keys
现在,您应该能够从一台主机登录到另一台主机而无需输入密码。请注意,上述步骤假设您已经具有适当的权限进行操作。如果您遇到任何问题,请确保在两台主机上已经安装了 OpenSSH,并且具有适当的权限进行配置。
linux中配置两台主机互免密认证
要在两台 Linux 主机之间实现互免密认证,可以按照以下步骤进行配置:
在主机A上生成密钥对:
ssh-keygen -t rsa
将生成的公钥复制到主机B:
ssh-copy-id username@hostB
这将把主机A的公钥添加到主机B的
~/.ssh/authorized_keys
文件中。此时,在主机A上可以通过SSH连接到主机B而无需输入密码:
ssh username@hostB
(可选)如果你想实现双向互免密认证,重复步骤1和2,将主机B的公钥复制到主机A。
注意事项:
- 上述命令中的
username
是你在主机B上的用户名。 - 主机A和主机B之间需要互相访问,并确保SSH服务已启动。
- 如果
ssh-copy-id
命令不存在,你可以手动将公钥~/.ssh/id_rsa.pub
的内容添加到目标主机的~/.ssh/authorized_keys
文件中。
这样配置后,你将能够在两台主机之间进行互免密认证的SSH连接。
多台虚拟机设置免密登录
配置多台虚拟机间的SSH无密码登录
为了实现多台Linux虚拟机之间的SSH无密码登录,需遵循一系列特定的操作流程来确保各节点间能够顺利通信。
创建并分发SSH密钥对
首先,在源主机上生成一对新的SSH密钥(如果尚未存在),这通常通过ssh-keygen
工具完成。之后,利用ssh-copy-id
指令将公钥复制到目标服务器上:
[leokadia@hadoop102 .ssh]$ ssh-keygen -t rsa # 如果还没有创建过密钥的话
[leokadia@hadoop102 .ssh]$ ssh-copy-id hadoop102
[leokadia@hadoop102 .ssh]$ ssh-copy-id hadoop103
[leokadia@hadoop102 .ssh]$ ssh-copy-id hadoop104
上述过程会在每一台指定的目标机器上的.ssh/authorized_keys
文件中添加来自源主机的公钥条目[^2]。
测试连接
一旦完成了密钥的安装工作,就可以尝试从一台虚拟机向其他两台发起SSH会话请求而不必提供任何密码验证信息。例如,假设当前位于master节点,则可以执行如下测试命令:
ssh master
ssh slave1
ssh slave2
当这些命令被执行而没有任何关于密码输入的要求时,即证明配置已生效[^1]。
扩展至更多节点
对于拥有超过三台成员的情况,只需重复以上步骤即可。比如在一个由四台设备组成的集群环境中,除了最初的三台之外还需要处理第四台机器;这时同样要在这新增加的一台上运行相同的ssh-copy-id
操作指向其余所有成员,并反过来也做一遍同样的事情让新加入者被认可为可信实体[^4]。
确认设置成果
最后一步是再次检查整个网络内的任意两点之间是否都能无障碍地建立安全通道。可以通过简单的SSH访问来进行这项检验活动。首次连接可能会弹出一个警告框询问是否继续连接未知主机,选择同意后就不会再有此提示了,这也间接说明了免密登录机制已经被正确激活[^3]。
相关推荐
















