代码之家  ›  专栏  ›  技术社区  ›  lonix

sshd错误在authorized_keys路径中显示双斜杠

  •  0
  • lonix  · 技术社区  · 3 年前

    我的服务器有一个可以工作的ssh用户(所以sshd可以工作)。

    当我添加另一个用户时 bob ,然后尝试连接,客户端显示:

    [email protected]: Permission denied (publickey).
    

    服务器的日志显示:

    sshd: Could not open user 'bob' authorized keys '/home/bob//.ssh/authorized_keys': Permission denied
    

    双斜杠可能就是问题所在。这是从哪里来的?

    2 回复  |  直到 3 年前
        1
  •  1
  •   Freeman    3 年前

    据我所知,这表明authorized_keys文件的路径存在问题! 通常与的权限有关 .ssh 目录或用户的主目录。

    这个 .ssh 目录应该具有的权限 700 以及 authorized_keys 文件应该具有的权限 600

    所以先检查一下:

    ls -ld /home/bob/
    ls -ld /home/bob/.ssh/
    ls -l /home/bob/.ssh/authorized_keys
    

    要修复此问题,您可以轻松地执行以下操作:

    chmod 700 /home/bob/.ssh
    chmod 600 /home/bob/.ssh/authorized_keys
    

    如果权限正确,请重新启动 ssh 服务并再次测试

    sudo systemctl restart sshd
    

    同时检查 authorized_keys 必须位于以下路径中:

    /home/bob/.ssh/authorized_keys
    

    祝你好运

        2
  •  1
  •   lonix    3 年前

    $ cat /etc/passwd | grep bob :

    bob:.......:/home/bob/:/bin/bash
    

    所以我做到了:

    sudo usermod --home /home/bob bob
    

    $cat/etc/passwd|grep-bob :

    bob:.......:/home/bob:/bin/bash
    

    注意:
    Linux忽略路径中的双斜杠,因此尽管这“修复”了服务器上的日志错误,但根本问题仍然存在。要解决此问题,请参阅已接受的答案。