SSH 远程用户需要登录吗?

SSH 远程用户需要登录吗?

我正在尝试设置 SSH 服务器。我将公钥放入 authorized_keys 文件中,确保权限正确等。

当我重启服务器(实际上只是 Ubuntu 12.04 桌面)并通过 ssh 连接到它时没有第一次登录服务器时,系统会要求我输入密码。但是,如果我登录到服务器,我就可以 ssh 而不需要输入密码。

auth.log当我尚未登录实际服务器时,有以下几行:

mordor sshd[1605]: debug1: trying public key file /home/buck/.ssh/authorized_keys
mordor sshd[1605]: debug1: Could not open authorized keys '/home/buck/.ssh/authorized_keys': No such file or directory

答案1

如果您的主目录已加密,通常就会出现此问题。通常的解决方案是将密钥放在主目录以外的目录中,并将文件指向sshd_config该目录。

例如:

  1. 将服务器上的 authorized_keys 文件从 移动/home/buck/.ssh/authorized_keys到类似/etc/ssh/keys/buck/authorized_keys
  2. sudo chown -R buck:buck /etc/ssh/keys/buck/设置此文件夹和密钥文件的权限chmod 700 /etc/ssh/keys/buck/chmod 600 /etc/ssh/keys/buck/authorized_keys
  3. 编辑/etc/ssh/sshd_config并将行更改AuthorizedKeysFile %h/.ssh/authorized_keysAuthorizedKeysFile /etc/ssh/keys/%u/authorized_keys
  4. sudo service ssh restart并且您无需先登录服务器即可登录。

相关内容