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)
如果您的主目录已加密,通常会出现此问题。通常的解决方案是将您的密钥放在主目录以外的目录中,并将您的sshd_config文件指向该目录。
例如:
/home/buck/.ssh/authorized_keys到像/etc/ssh/keys/buck/authorized_keyssudo chown -R buck:buck /etc/ssh/keys/buck/和chmod 700 /etc/ssh/keys/buck/和chmod 600 /etc/ssh/keys/buck/authorized_keys/etc/ssh/sshd_config并将该行更改AuthorizedKeysFile %h/.ssh/authorized_keys为AuthorizedKeysFile /etc/ssh/keys/%u/authorized_keyssudo service ssh restart 并且您应该无需先登录服务器即可登录。