rsa キーを使用して SSH トンネルを介してログインすると、まだパスワードプロンプトが表示されます。

rsa キーを使用して SSH トンネルを介してログインすると、まだパスワードプロンプトが表示されます。

私は2つのノートブック(ホストAとホストC)と1つのデスクトップ(ホストB)を動的IPアドレスで持っていますが、どちらもLinux(Ubuntu)を実行しています。これで、ホストCからホストAにアクセスできるように設定しました。 HostAでは、次のコマンド形式を使用してAからCへのSSHトンネルがあります。

autossh -NR 10023:localhost:22 [email protected]

autosshコマンドを実際に実行できるようにキーペアリングを使用しています。

その後、CからBにSSHを接続し、Aに接続できます。

ssh -p 10023 localhost

パスワードの入力を求められ、入力できます。大丈夫です。

しかし、Aのセキュリティを強化したいのでログイン時にキーが必要です。そのため、HostBでssh-keygenを使用してキーペアを生成し、キー名をcustomkey_rsa、パスワードを指定しました。その後、customkey_rsa.pubは公開鍵です。このトンネルを使用するためにssh-copy-idを取得できないので、CからAにログインし、ホストBのcustomkey_rsa.pubを介してscpします。次に、キーを追加します。

cd .ssh & cat customkey_rsa.pub >> authorized_keys

ただし、今すぐログインしようとすると、パスワードプロンプトが表示されます。実際に以下のようにキーを試してみましたが、どういうわけか最後の瞬間にあきらめたようです。

Bから

ssh -v -i customkey_rsa -p 10023 localhost

与えられた

OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Connecting to localhost [127.0.0.1] port 10023.
debug1: Connection established.
debug1: identity file customkey_rsa type 1
debug1: identity file customkey_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA (redacted)
debug1: Host '[localhost]:10023' is known and matches the ECDSA host key.
debug1: Found key in /home/ohnoplus/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: customkey_rsa
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password 
ohnoplus@localhost's password: 

~/.sshホストAの権限は、700権限は.ssh/authorized_keysです600

だから私の質問です。これがうまくいかないのはなぜですか?

私が見たものの中で役に立たなかったもの:

提案のリストを注意深く研究しなさい。私のシステムに権限が正しく設定されていますが、他のソリューションは機能しません。 公開鍵認証を使用してもSSHパスワードプロンプトが表示され続けるのはなぜですか?

同様ですが、解決策は提供されません。 rsaキーを使用するSSHにはパスワードが必要です

"authorized_keys2"ファイルがありません。 .ssh/authorized_keysにもかかわらず、sshはまだパスワードの入力を求めます。

ベストアンサー1

以下を追加する必要があります。

PasswordAuthentication no

sshd_configで(これはサーバー構成です)

おすすめ記事