从PuTTy到Debian的SSH“ authorized_keys不是常规文件”错误


9

我无法使用PuTTy从Windows 7计算机连接到使用SSH RSA密钥认证的新配置的Debian Squeeze服务器。

在调试模式下运行SSH时出现此错误: User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file


到目前为止,我所做的是:

  1. ssh-keygen -t rsa
  2. 设置密码。
  3. 将id_rsa.pub文件复制到 ~/.ssh/authorized_keys
  4. 将id_rsa复制到Windows 7计算机上的文本文件
  5. 将密钥导入puttygen.exe并转换为.ppk私钥文件。
  6. 将该私钥文件加载到pageant.exe并确保Connection-> SSH-> Auth Authetication方法已选中“使用Pageant尝试认证”。
  7. 加载了配置文件。

基于OpenSSH.orgFAQ,我将权限更改为以下内容:

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或其他任何东西。任何想法将不胜感激。

Answers:


15

问题是:

User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file

看来您已经建立了一个名为的目录authorized_keys,并将所有密钥文件放入其中。这就是为什么它不起作用。authorized_keys是一个常规文件,您可以将所有密钥放入~/.ssh


7

主要问题是该~/.ssh/authorized_keys目录不应是目录。它是一个文本文件,其中包含在另一行之后附加的公共密钥。

由于您只有一个密钥,只需将~/.ssh/authorized_keys/id_rsa.pub文件移到一个临时位置,删除~/.ssh/authorized_keys目录,然后将其重命名为即可移回公共密钥文件~/.ssh/authorized_keys。现在,您无需使用登录密码即可连接。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.