我无法使用 PuTTy 从我的 Windows 7 计算机连接到使用 SSH RSA 密钥认证的新配置的 Debian Squeeze 服务器。
在调试模式下运行 SSH 时出现此错误:
User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file
我目前所做的:
- ssh-keygen -t rsa
- 设置密码。
- 将 id_rsa.pub 文件复制到
~/.ssh/authorized_keys
- 将 id_rsa 复制到我的 Windows 7 机器上的文本文件中
- 导入密钥
puttygen.exe
并转换为.ppk
私钥文件。 - 将该私钥文件加载到
pageant.exe
并确保连接->SSH->Auth 身份验证方法已选中“尝试使用 Pageant 进行身份验证”。 - 已加载配置文件。
基于OpenSSH.org 的常见问题解答,我把权限改成如下:
drwxr-xr-x 3 root root 4096 Aug 13 14:16 /home
drwxr-xr-x 7 myuser myuser 4096 Aug 17 12:55 /home/myuser
drwx------ 3 myuser myuser 4096 Aug 17 13:24 /home/myuser/.ssh
drw------- 2 myuser myuser 4.0K Aug 17 13:23 /home/myuser/.ssh/authorized_keys
-rw------- 1 myuser myuser 396 Aug 17 13:17 /home/myuser/.ssh/authorized_keys/id_rsa.pub
我在 ssh 上启动了调试模式,并得到以下信息:
debug1: userauth-request for user myuser service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: test whether pkalg/pkblob are acceptable
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/myuser/.ssh/authorized_keys
User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file
debug1: restore_uid: 0/0
Failed publickey for myuser from 10.1.1.1 port 50710 ssh2
我不知道还要检查什么。我还没有设置 SELinux 或任何东西。任何想法都将不胜感激。
答案1
问题是:
User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file
看来您已创建了一个名为 的目录authorized_keys
,并将所有密钥文件放入其中。这就是它不起作用的原因。authorized_keys
应为常规文件,您可以将所有密钥放入 中~/.ssh
。
答案2
主要问题是它~/.ssh/authorized_keys
不应该是一个目录。它是一个文本文件,其中包含一行接一行地附加的公钥。
由于您只有一个密钥,只需将~/.ssh/authorized_keys/id_rsa.pub
文件移出到临时位置,删除~/.ssh/authorized_keys
目录,然后将公钥文件重命名为~/.ssh/authorized_keys
即可。现在您应该能够无需使用登录密码进行连接。