OpenSSH - PuTTY (キーが拒否されました)

OpenSSH - PuTTY (キーが拒否されました)

自宅のコンピュータの前に座らなくても重要なファイルにアクセスできるように、小さな OpenSSH サーバーを設定しています。サーバーのセットアップは完了しましたが、今度はキー認証を設定したいと考えています (侵入が少し難しくなるため)。

私はLubuntuのセットアップからキーをコピーし、それをWindowsマシンにコピーし、.ppkフォーマットに変換しました。パテジェン.SSH -> Authセクションでは、キー ファイルを選択しRSA.ppk、設定を保存してサーバーにログインしました。ユーザー名を入力すると、その後、次の出力が表示されますServer refused our key

の、、およびのHostKey行のコメントを解除しました。他に何をすればよいかわかりません。RSAECDSAED25519sshd_config

答え1

PuTTYgen を使用して、ランダム化された公開/秘密キーのペアを作成し、出力ボックスのテキストをファイルに貼り付けました~/.ssh/authorized_keys。キー ファイル認証は完璧に機能します。

答え2

SSH は、2 つの異なる非対称 (秘密/公開) キー セットを使用します。1 つはクライアントに対してホスト/サーバーを認証するためのもので、オプションで、もう 1 つはホスト/サーバーに対してクライアントを認証するためのものです。

の設定HostKeyは、sshd_configホストのキー用であり、クライアント用ではありません。 の、sshd_configクライアントの公開鍵認証を有効にするディレクティブは ですがPubKeyAuthentication、これはデフォルトでオンになっているため、指定する必要はありません (通常はコメント解除します)。

うまくいくはずだ、そして私の場合は、OpenSSHで生成されたキーをPuTTYgenで変換し、あなたが説明したようにPuTTYで使用しましたが、のみ~/.ssh/authorized_keys適切なユーザー用(*) である場合、これは、どこでどのように生成されたかに関係なく、すべてのクライアント キーに必要です。1 つの Unix システムでキーを生成してauthorized_keysも、そのシステムにも (すでに使用しているシステムにアクセスするために通常 ssh は必要ないため)、他のシステムにも (このシステムは、おそらく数年後も含め、他のどのシステムにアクセスしたいかを知ることができないため)、自動的に追加されることはありません。追加すると言っているのは、authorized_keys新しい PuTTYgen 生成キーのみであり、Unix で生成され PuTTYgen で変換されたキーではありません。

(*)またはAuthorizedKeysFileinで指定されている場合は他の場所sshd_config(まれ)

関連情報