tom
(明らかに)リモートサーバーには存在しますがローカルサーバーには存在しないため、リモートサーバーに接続しています。
id_rsa.pub
ローカルユーザー生成キーをbob
リモートサーバー上のTomのファイルにコピーしました。authorized_keys
ただし、まだパスワードの入力を求められます。
[bob@localserver ~]$ ssh tom@remoteserver
編集1
完璧にするために、キーを再生成してリモートサーバーにコピーした。
ssh-keygen -t rsa
ssh-copy-id -i tom@REMOTESERVER
ここでのデバッグ出力をご覧ください。 SSHデバッグの詳細
デバッグ出力で次を見つけました。私の秘密鍵ファイルid_rsa
のすべての行(base64ブロック?)には、次のコンテンツがあります。
debug3: key_read: missing whitespace
編集2:
リモートサーバー権限:
drwx------ 2 tom tom 4096 Aug 15 10:59 .
drwx------ 5 tom tom 4096 Aug 15 11:54 ..
-rw-rw-r-- 1 tom tom 810 Aug 15 10:59 authorized_keys
-rwx------ 1 tom tom 109 Aug 14 09:43 config
-rw------- 1 tom tom 1675 Aug 8 14:58 id_rsa
-rw-r--r-- 1 tom tom 404 Aug 8 14:58 id_rsa.pub
-rw-r--r-- 1 tom tom 1217 Aug 10 09:32 known_hosts
ローカルサーバー権限:
drwx------ 2 bob bob 4096 Aug 15 11:32 .
drwx------ 7 bob bob 4096 Aug 15 11:32 ..
-rw------- 1 bob bob 1613 Aug 15 11:09 id_rsa
-rw------- 1 bob bob 1675 Aug 15 11:08 id_rsa.bkp
-rw-r--r-- 1 bob bob 405 Aug 15 10:58 id_rsa.pub
-rw-r--r-- 1 bob bob 410 Aug 15 10:59 known_hosts
答え1
出力には以下がssh -vv tom@remoteserver
含まれます。
debug1: Offering public key: /home/bob/.ssh/id_rsa
この時点で、クライアントは秘密鍵を見つけ、それを使用して認証を試みます。 - しかし、仕える人そうしないでください。理由を見つけることができる仕える人丸太。
推測:ファイル権限の問題があります。
サーバーに対する正しい権限を再確認してくださいls -la ~/.ssh
。より良いことは、ssh-copy-id
公開鍵をリモートサーバーにコピーすることです。正しい権限を処理します。
man sshd_config
説明する:
StrictModes
Specifies whether sshd(8) should check file modes and ownership of the
user's files and home directory before accepting login. This is nor‐
mally desirable because novices sometimes accidentally leave their
directory or files world-writable. The default is ``yes''. Note that
this does not apply to ChrootDirectory, whose permissions and ownership
are checked unconditionally.
デフォルトでは、ユーザー自身が読み書きできる必要があります~/.ssh
。
答え2
リモートホストのauthorized_keysファイルに権限600を使用してみてください。 644も問題ありませんが、グループおよび/または書き込み可能ではありません。
便利なリンク: