无法通过 SSH 连接到本地主机

无法通过 SSH 连接到本地主机

所以在过去的两个小时里我一直在尝试通过 localhost 通过 SSH 连接到我自己的计算机。但它说“权限被拒绝(公钥)”。

我在 VirtualBox 上运行 Ubuntu 14 LTS。这是我当前的设置:

  1. 我的/home/用户名目录中有“.ssh”文件夹,其中包含文件“known_hosts”、“initialkey”和“initialkey.pub”。我生成了初始键带有 RSA 的文件。

  2. 我的“/etc/ssh”文件夹还有两个 RSA 文件 - “ssh_host_rsa_key”和“ssh_host_rsa_key.pub”(这些 RSA 密钥与/home/用户名/.ssh文件夹)。 “sshd_config”文件有禁用密码验证,禁用 root 登录以及两者启用公钥和 RSA 身份验证。 “AuthorizedKeysFile”的值设置为“/root/.ssh/authorized_keys”。

  3. 在“/root/.ssh/authorized_keys”中,我复制了上面提到的“initialkey.pub”文件。

我已经检查了权限,使所有用户的权限至少为“r”。

尽管如此,问题仍然存在。也许我对 SSH 进入本地计算机的工作原理的理解是不正确的。截至目前,我相信“openssh 服务器”正在将我的机器变成服务器,并通过使用ssh 本地主机命令,我什至可以从同一台机器登录到该服务器。

更新: 通过更改主目录的权限已解决该问题。我使用了命令chmod 750 $HOME,这解决了问题。感谢大家的意见。

答案1

SSH 对密钥非常偏执。如果路径上的任何目录可由所有者以外的任何人写入,则它将不信任该密钥。检查路径中所有目录的权限。权限应该类似于drwxr-xr-xdrwxr-x---。诸如drwxrwxr-x或 之类的权限drwxrwxrwx将导致密钥不受信任。

相关内容