
リモートコンピュータに公開鍵を入れましたが、まだsshパスワードプロンプトが表示されます。ssh -vv
役に立つ出力(最後の数行のみ)は次のとおりです。
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/lior/.ssh/id_rsa <-- THAT's MY PRIVATE KEY!
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /Users/lior/.ssh/id_dsa
debug1: Trying private key: /Users/lior/.ssh/id_ecdsa
debug1: Trying private key: /Users/lior/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
重要:同じプロセスを実行した後、パスワードなしで別のシステムにSSHで接続できたため、特定のリモートシステム(CentOS 6で実行)に問題があるとします。
どんなアイデアがありますか?
答え1
リモートユーザーのホームディレクトリから:
- homedirの所有者は誰ですか?
- homedir/.sshの所有者は誰ですか?
- homedir/.ssh/authorized_keysの所有者は誰ですか?
〜、〜/.ssh、〜/.ssh/authorized_keysへのアクセス権は何ですか?
~/.ssh/authorized_keysに許可された読み取りおよび/または書き込み権限を付与すると、sshdはファイルを信頼しなくなります。
答え2
この方法で問題が100%解決されるかどうかはわかりませんが、試してみてください。ディレクトリにファイルを作成します~/.ssh/config
。設定ファイルにvimを適用するときは、次のことを試すことができます。
Host <host_name_of_server>
HostName <ip_address_of_server>
User <user_created_for_server>
Port 22
PasswordAuthentication No
IdentityFile <path_to_key>
したがって、これが追加されたら、次のことができます。
ssh <host_name_of_server>
これにより、サーバーに割り当てられているホストにSSHで接続するときにパスワードの入力を求められません。結果がどうなるか教えてください。