SSH远程用户需要登录吗?

buc*_*uck 6 ssh encryption ecryptfs sshd

我正在尝试设置 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
Run Code Online (Sandbox Code Playgroud)

jes*_*run 7

如果您的主目录已加密,通常会出现此问题。通常的解决方案是将您的密钥放在主目录以外的目录中,并将您的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 并且您应该无需先登录服务器即可登录。