自宅のコンピュータの前に座らなくても重要なファイルにアクセスできるように、小さな OpenSSH サーバーを設定しています。サーバーのセットアップは完了しましたが、今度はキー認証を設定したいと考えています (侵入が少し難しくなるため)。
私はLubuntuのセットアップからキーをコピーし、それをWindowsマシンにコピーし、.ppk
フォーマットに変換しました。パテジェン.SSH -> Auth
セクションでは、キー ファイルを選択しRSA.ppk
、設定を保存してサーバーにログインしました。ユーザー名を入力すると、その後、次の出力が表示されますServer refused our key
。
の、、およびのHostKey
行のコメントを解除しました。他に何をすればよいかわかりません。RSA
ECDSA
ED25519
sshd_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 で変換されたキーではありません。
(*)またはAuthorizedKeysFile
inで指定されている場合は他の場所sshd_config
(まれ)