shv*_*hva 6 ssh home ecryptfs public-key-authentication
我在远程计算机上安装了 Ubuntu LTS 14.04 服务器版,并在远程计算机上添加了我的本地公钥~/.ssh/authorized_keys
。我发现我还是需要使用密码登录远程计算机,即使在远程计算机上设置~/.ssh
为700和~/.ssh/*
600的权限后。但是,一旦我登录,我就可以开始使用公钥对其他 ssh 会话进行授权。
我的主目录是加密的。
我怎样才能解决这个问题?
这是我在评论中发布的链接中的解决方案。这来自这里,它引用了这个超级用户帖子。
为要存储的密钥创建.ssh
文件夹/home
sudo mkdir /home/.ssh
Run Code Online (Sandbox Code Playgroud)
将现有的 authorized_keys 文件.ssh
作为用户名移动到目录中
sudo mv ~/.ssh/authorized_keys /home/.ssh/username
Run Code Online (Sandbox Code Playgroud)
在用户.ssh
目录中创建到authorized_keys 文件的符号链接
ln -s /home/.ssh/username ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
更新sshd_config
文件设置的新路径的authorized_keys
文件
sudo vim /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)
将该AuthorizedKeysFile
行更改为:
AuthorizedKeysFile /home/.ssh/%u
Run Code Online (Sandbox Code Playgroud)
重新启动计算机
sudo shutdown -r now
Run Code Online (Sandbox Code Playgroud)
登录到您的服务器,您应该会看到一个最小的未解密主目录...您需要在其中创建和编辑 .profile 文件ecryptfs
以安装您的主目录。
sudo vim ~/.profile
Run Code Online (Sandbox Code Playgroud)
添加这些行:
ecryptfs-mount-private
cd /home/username
Run Code Online (Sandbox Code Playgroud)
注销/重新启动,然后重新登录。在 SSH 密钥身份验证后,应该会提示您输入密码,然后会显示您解密的主目录。
您现在应该可以每次都使用 SSH 密钥登录,无论您的主目录是否被解密。
归档时间: |
|
查看次数: |
2170 次 |
最近记录: |