web-dev-qa-db-ja.com

ssh空のパスフレーズですが、それでも要求します

新しいユーザーとキーを作成しましたが、リモートアクセスすると、パスフレーズの入力を求められましたが、設定しませんでした。また、再確認してトリプルチェックしました。以下は私が実行したコマンドとエラーです。キーを作成する私のコマンドで明らかなエラーを誰かが見ることができますか?:

useradd -m -d /home/webuser -s /bin/bash webuser
su webuser
ssh-keygen -t rsa
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm id_rsa.pub

ssh webuser@ip_of_target_server
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /root/.ssh/id_rsa ((nil)),
debug2: key: /root/.ssh/id_dsa ((nil)),
debug2: key: /root/.ssh/id_ecdsa ((nil)),
debug2: key: /root/.ssh/id_ed25519 ((nil)),
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: key_parse_private2: missing begin marker
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/root/.ssh/id_rsa':
debug2: no passphrase given, try next key
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /root/.ssh/id_ecdsa
debug3: no such identity: /root/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /root/.ssh/id_ed25519
debug3: no such identity: /root/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
3
Peter Jackson

複数のものを混同している。

作成したユーザーのパスワードを設定していないため、パスワードを使用してログインできないため、SSHは要求しません。

ただし、SSH鍵を作成したとき、鍵はパスワードで保護されています。サーバーに接続しようとすると、そのキーを読み取って身元を確認する必要があるため、キーのパスワードを要求します。

また、認証されたキーにキーを追加してから接続しようとするまでの間にいくつかの手順がありませんが、追加したキーのように見えます(物事がどのように行われるか、実際にはログに示されていません)。許可されたキーは、接続しようとしているマシン上にあるものではありません。

3
Ginnungagap

必要がある :

  • 宛先の.sshフォルダーに適切なアクセス許可(通常は700)があり、開きすぎていないこと(例:775やその他)がないことを確認してください
    • 宛先のauthorized_keysにも適切な権限があることを確認してください(通常は644)
    • ソースの秘密鍵に適切な権限があることを確認してください(最大600)
    • ソースとデスティネーションのホームディレクトリに適切なアクセス許可があることを確認します(開きすぎないようにします)。
    • authorized_keysのキーにスペースや改行が含まれていないことを確認してください(猫には当てはまりません)。
    • ssh/scp/sftpの実行中に正しい秘密鍵を使用していることを確認してください(デフォルトではid_rsaを使用する必要があります)

また、使用しているsshコマンドは何ですか? 「どのユーザー」から「どのユーザー」へ?別のマシンのrootアカウントにsshしようとする場合、そのsshd_configファイルでPermitRootLoginがYesまたはWithoutPassword(Noではない)に設定されていることを確認する必要もあります。

and reminder:生成する公開鍵は、ターゲットユーザーのauthorized_keyファイルにデプロイする必要があります。だからあなたがするとき:

ssh -i /root/.ssh/id_rsa root @ remote_machine

パスワードなしで機能します(ssh-keygen -t rsaを使用するときにパスワードを設定しなかった場合、プロンプトが表示され、Enterキーを2回押す必要があります。値を入力しないでください)

それが役に立てば幸い

また:webuserというユーザーを作成したようですが、rootユーザーからsshを実行しようとしています。これは機能しません。特定のユーザーでキーペアを作成し、公開キーの内容を、対象とする他のユーザー/マシンに展開する必要があります。

2
olivierg