无法通过 SSH 和公钥与用户 B 连接(用户 A 可以)

Bol*_*wyn 4 ssh login

解决了。user_Bs 主目录上的组可写位欺骗了我。

我对这个没有想法了。每个提示都将受到高度赞赏。

考虑这个设置:

  • 服务器S运行Ubuntu,用户boldewynuser_Auser_B
  • 两台笔记本电脑AB,每台都有一个本地用户boldewyn(有一个id_rsa登录键S)和一个第二个键id_rsa_A/ id_rsa_B。所有密钥都存储在/home/boldewyn/.ssh. 两者都运行 Ubuntu。
  • user_Auser_BS具有空密码,登录只能通过公钥和SSH是可能的。

    +--------+            +-------------------+            +--------+
    | laptop |            |       server      |            | laptop |
    |   A    |            |         S         |            |   B    |
    |        |            |                   |            |        |
    +--------+    SSH     +-------------------+    SSH     +--------+
    |id_rsa_A|------------|< user_A   user_B >|------------|id_rsa_B|
    +--------+            +-------------------+            +--------+
    |id_rsa  |------------|<    boldewyn     >|------------|id_rsa  |
    +--------+            +-------------------+            +--------+
    
    Run Code Online (Sandbox Code Playgroud)

什么工作:

  • 从任何笔记本电脑以boldewyn(使用id_rsaS:/home/boldewyn/.ssh/authorized_keys

  • A以用户身份从笔记本电脑登录user_A(使用id_rsa_AS:/home/user_A/.ssh/authorized_keys: ssh -i id_rsa_A user_A@S

我的问题:在笔记本电脑上B,完全相同的设置对于user_B. 我无法登录S,因为出于任何原因,密钥未被接受并且出现密码提示(user_B没有密码,这是没有选择的)。

我检查过的:

  • 在笔记本电脑上B

    • 检查权利~/.ssh及其所有内容
    • 把公共部分的id_rsa_Bin boldewyns.authorized_keysssh -i id_rsa_B boldewyn@S: 作品(关键是不腐败左右)
    • ssh -vvv:嗯,不是很有帮助:只是告诉我,它publickey现在跳过方法。没有给出理由。
  • 在服务器上S

    • 三重检查user_Bs.authorized_keys文件
    • 检查权利/home/*/.ssh及其所有内容(特别是比较user_Auser_B
    • 检查$HOME已设置(通过sudo -u user_B -i
    • 检查,所有用户都在/etc/ssh/sshd_configs AllowUsers(并且AllowGroups,顺便说一句)

其他的东西:

唯一的区别我可以想出之间user_Auser_B是,我创建了后者adduser -M(不创建一个主目录;在此之前它已经存在)。然而,我三重检查,/home/user_B所有相关的孩子都归user_B他的主要群体所有。

Gil*_*il' 8

您是否三重检查/home/user_B(以及/home/user_B/.ssh/home/user_B/.ssh/authorized_keys)是否具有适当的权限:除用户外不可写,即模式 755 或更多限制?