学堂 学堂 学堂公众号手机端

如果你在Linux上尝试使用SSH免密登录失败,有几个常见的问题和解决方法

lewis 1年前 (2024-04-14) 阅读数 25 #技术

如果你在Linux上尝试使用SSH免密登录失败,有几个常见的问题和解决方法:

  1. 检查目标主机的SSH服务器配置:确保SSH服务器已正确设置允许使用公钥身份验证。你可以编辑目标主机上的/etc/ssh/sshd_config文件,确保以下配置项未被注释或设置为yes

    RSAAuthenticationyes
    PubkeyAuthenticationyes
    AuthorizedKeysFile.ssh/authorized_keys
    

    然后重启SSH服务器(sudosystemctlrestartsshd)。


  2. 检查目标主机的用户目录和权限问题:在目标主机上检查用户的.ssh目录和authorized_keys文件权限是否正确。.ssh目录权限应为700authorized_keys文件权限应为600。你可以使用以下命令来更正权限:

    chmod700~/.ssh
    chmod600~/.ssh/authorized_keys
    
  3. 检查本地主机的SSH密钥和配置:确认你本地主机上有正确的SSH密钥对,并且私钥没有被修改或损坏。你可以使用以下命令检查和生成SSH密钥对:

    ls-al~/.ssh
    ssh-keygen-trsa-b4096
    
  4. 检查本地主机的SSH配置:确认你本地主机的SSH配置文件(通常是~/.ssh/config)中没有冲突的配置。如果有冲突的配置,可以尝试暂时重命名或删除该文件,然后重新尝试SSH免密登录。

如果以上方法都没有解决问题,你可能需要查看SSH服务器和客户端的日志文件,以获取更多详细的错误信息。在目标主机上,你可以查看/var/log/auth.log文件,而在本地主机上,你可以查看/var/log/secure/var/log/auth.log文件(具体位置可能因Linux发行版而异)。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门