Ssh
從 PuTTy 到 Debian 的 SSH “authorized_keys 不是正常文件”錯誤
我無法使用 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
並確保 Connection->SSH->Auth Authetication 方法已選中“嘗試使用 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 或任何東西。任何想法將不勝感激。
問題是:
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
. 您現在應該能夠在不使用登錄密碼的情況下進行連接。