Ssh

從 PuTTy 到 Debian 的 SSH “authorized_keys 不是正常文件”錯誤

  • August 17, 2012

我無法使用 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.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 或任何東西。任何想法將不勝感激。

問題是:

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

看來您已經創建了一個名為authorized_keys並將所有密鑰文件放入其中的目錄。這就是它不起作用的原因。authorized_keys意味著是一個正常文件,您可以將所有密鑰放入~/.ssh.

主要問題是它~/.ssh/authorized_keys不應該是一個目錄。它是一個文本文件,其中包含逐行附加的公鑰。

由於您只有一個密鑰,只需將~/.ssh/authorized_keys/id_rsa.pub文件移出到臨時位置,刪除~/.ssh/authorized_keys目錄,然後將公鑰文件重命名為~/.ssh/authorized_keys. 您現在應該能夠在不使用登錄密碼的情況下進行連接。

引用自:https://serverfault.com/questions/418797