別のユーザーとしてリモートサーバーに対するパスワードなしの認証を有効にする方法は?

別のユーザーとしてリモートサーバーに対するパスワードなしの認証を有効にする方法は?

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

おすすめ記事