这是最愚蠢的事情,因为我以前做过很多次,从来没有遇到过问题,所以我确定我只是做了一些愚蠢的事情,但我无论如何也无法弄清楚。
我正在尝试使用基于密钥的身份验证从 Windows 7 计算机连接到 Linux 计算机。
以下是我遵循的步骤;
ssh-keygen -t rsa
从 Git Bash运行。- 选择文件存储的默认区域。
- 未选择密码(留空)
- 将 id_rsa.pub 的内容复制到远程服务器(/home/user/.ssh/authorized_keys)
当我尝试使用登录时,我可以看到它尝试从 Windows 机器上的正确位置匹配我的密钥,但它不接受它们并最终回到密码作为身份验证方法。ssh [email protected] -v
我已经检查了authorized_keys的权限——它仅对所有者设置为rw。
任何帮助将不胜感激。
答案1
除了对 authorized_keys 的权限之外,设置包含它的 .ssh 文件夹的权限也很重要:
gp@platinum:~/.ssh$ ls -la
total 24
drwx------ 2 gp gp 4096 Aug 17 2011 ./
[...]
-rw------- 1 gp gp 3703 Oct 25 10:52 authorized_keys
gp@platinum:~/.ssh$
如您所见,的权限~/.ssh
应该是 700,而的权限~/.ssh/authorized_keys
应该是 600。