2401_84027671 2024-04-25 19:30 采纳率: 0%
浏览 5

linxu的ssh免密码登录

在linuxssh免密码登录中ssh已经配置但是有些节点可以登录但是另外的节点却不能登录为什么,明明是一样的配置

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-25 19:30
    关注

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

    要解决Linux系统间的SSH无密码登录问题,首先需要确认几个关键点。确保你在所有节点上执行了相同的步骤,并且检查可能存在的差异。

    1. 公钥对生成: 在需要进行无密码登录的客户端(源主机)上,生成SSH密钥对。

      ssh-keygen -t rsa
      

      按照提示操作,通常会默认保存在~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)文件中。

    2. 复制公钥到目标服务器: 将客户端的公钥内容复制并粘贴到目标服务器的authorized_keys文件中。

      首先,你需要通过有密码方式登录目标服务器(目标主机),然后执行以下命令:

      mkdir -p ~/.ssh && chmod 700 ~/.ssh
      touch ~/.ssh/authorized_keys && chmod 644 ~/.ssh/authorized_keys
      

      接着,在客户端使用下面的命令将公钥复制到目标服务器:

      ssh-copy-id user@target_host
      

      其中,user是目标服务器上的用户名,target_host是目标服务器的IP地址或域名。

    3. 检查权限: 确保~/.ssh目录和authorized_keys文件的权限设置正确。理想情况下,应为:

      ls -ld ~/.ssh ~/.ssh/authorized_keys
      

      应显示类似输出:

      drwx------ 2 user group 4096 Jun 25 14:30 /home/user/.ssh/
      

    -rw------- 1 user group 400 Jun 25 14:30 /home/user/.ssh/authorized_keys

    
    4. **测试连接**:
    使用`ssh`命令尝试从客户端无密码登录目标服务器。
    
    ```bash
    ssh user@target_host
    

    如果没有提示输入密码并且成功登录,那么配置就正确了。如果仍然提示输入密码,检查上述步骤是否有遗漏或错误。

    1. 排查常见问题
      • 确认目标服务器的sshd_config文件中的PubkeyAuthentication选项已启用(通常是默认开启的)。
      • 检查目标服务器上的~/.ssh/authorized_keys文件是否包含正确的公钥内容。
      • 比较问题节点与正常节点的~/.ssh目录下的配置文件(如config.pubkey等),查看是否存在差异。

    遵循以上步骤,你应该能解决大部分SSH无密码登录的问题。如果有任何疑问或遇到具体问题,请提供更详细的错误信息或日志,以便我能提供更精确的帮助。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月25日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图