因此,在过去的两个小时中,我一直在尝试通过localhost SSH到我自己的计算机中。但是它说“权限被拒绝(公共密钥)”。
我在VirtualBox上运行Ubuntu 14 LTS。这是我当前的设置:
我的/ home / username目录具有“ .ssh”文件夹,其中包含文件“ known_hosts”,“ initialkey”和“ initialkey.pub”。我用RSA生成了initialkey文件。
我的“ / etc / ssh”文件夹中还有两个RSA文件-“ ssh_host_rsa_key”和“ ssh_host_rsa_key.pub”(这些RSA密钥不同于/home/username/.ssh文件夹中的RSA密钥)。“ sshd_config”文件已禁用密码身份验证,禁用了root登录,并且启用了公钥和RSA身份验证。“ AuthorizedKeysFile”的值设置为“ /root/.ssh/authorized_keys”。
在“ /root/.ssh/authorized_keys”中,我复制了上面提到的“ initialkey.pub”文件。
我已经检查了所有用户的权限,使它们至少都为“ r”。
但是,问题仍然存在。也许我关于SSH如何进入本地计算机的概念不正确。到目前为止,我相信“ openssh服务器”正在使我的机器成为一台服务器,并且通过使用ssh localhost命令,我甚至可以从同一台机器登录到该服务器。
更新:通过更改主目录的权限已解决了该问题。我使用了命令chmod 750 $ HOME,它解决了这个问题。谢谢大家的投入。
SSH对密钥非常偏执。如果该路径上的任何目录均可被所有者以外的任何人写入,则它将不信任该密钥。检查路径中所有目录的权限。权限应类似于drwxr-xr-x
或drwxr-x---
。诸如drwxrwxr-x
或的权限drwxrwxrwx
将导致密钥不受信任。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句