www.com.cn 2024-03-07 00:20 采纳率: 40%
浏览 15

Centos 配置ssh 免密登陆

配置到第二台虚拟机显示报错,第一台成功,不知道什么原因,求解答,尝试了多种办法

img

  • 写回答

6条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-07 00:21
    关注

    引自免费微信小程序:皆我百晓生

    在CentOS中配置SSH免密登录,以实现Hadoop集群中的节点间无密码互访,通常需要以下步骤。由于您提到第二台虚拟机配置时出现错误,请按照以下流程排查并重新配置:

    1. 生成SSH密钥对: 在第一台虚拟机(主机A)上执行:

      ssh-keygen -t rsa
      

      这将会在~/.ssh/目录下生成一对密钥:id_rsa(私钥)和id_rsa.pub(公钥)。默认情况下,系统会提示你三次回车,无需设置密码。

    2. 将公钥复制到目标机器: 将主机A的公钥复制到第二台虚拟机(主机B)的授权keys列表中:

      ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@第二台虚拟机IP或主机名
      

      请确保替换“用户名”为实际用户名称,以及“第二台虚拟机IP或主机名”为实际值。

    3. 检查权限和文件内容: 确保在主机B上的.ssh目录及其中的所有文件都具有正确的权限,例如:

      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/authorized_keys
      

      检查主机B的authorized_keys文件内是否包含主机A的公钥信息。

    4. 防火墙与SELinux配置: 确认CentOS的防火墙没有阻止SSH端口(默认为22),可以临时关闭防火墙测试:

      systemctl stop firewalld
      

      若因SELinux导致的问题,可尝试调整其策略或者暂时禁用SELinux进行测试。

    5. 网络问题排查: 确保两台虚拟机之间的网络连接正常,可以通过ping命令测试。

    6. SSH服务重启: 在主机B上重启SSH服务以便新添加的公钥生效:

      systemctl restart sshd
      

    完成以上步骤后,应该可以在主机A上通过ssh直接免密登录到主机B。如果仍有问题,请查看/var/log/secure或/var/log/auth.log日志文件,查找具体的错误信息以进一步定位问题所在。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月7日