PuTTYを使用するWindows 7コンピューターから、SSH RSAキー認証を使用して新しく構成されたDebian Squeezeサーバーに接続できません。
SSHをデバッグモードで実行すると、次のエラーが表示されます:User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file
これまでに行ったこと:
~/.ssh/authorized_keys
にコピーしましたputtygen.exe
にインポートし、.ppk
秘密鍵ファイルに変換しました。pageant.exe
にロードし、[接続]-> [SSH]-> [認証認証]メソッドで[ページェントを使用して認証を試行する]がオンになっていることを確認しました。OpenSSH.orgからのFAQ に基づいて、権限を次のように変更しました。
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
がディレクトリであってはならないことです。これは、公開鍵が1行ずつ追加されたテキストファイルです。
鍵は1つしかないため、~/.ssh/authorized_keys/id_rsa.pub
ファイルを一時的な場所に移動し、~/.ssh/authorized_keys
ディレクトリを削除してから、公開鍵ファイルの名前を~/.ssh/authorized_keys
に変更して戻します。これで、ログインパスワードを使用せずに接続できるはずです。