秘密鍵を使用してSSH経由でパスワードを要求します。

秘密鍵を使用してSSH経由でパスワードを要求します。

これは公開鍵認証とは無関係です。私は公開鍵をコピーし、このようにsshを使用する方法を知っています。秘密鍵に関する内容です。

それで、ちょうど放浪プライベートネットワークを介して接続された2つの仮想マシンを作成しました。そのうちの1つはserver01、もう1つはserver02です。

「server01」にユーザー「01」を作成し、「server02」にユーザー「02」を作成しました。

私はssh-keygen両方持っているので、両方とid_rsaを持っていますid_rsa.pub

01のid_rsa内容(秘密鍵)01keyを。

次に、次のコマンドを使用して02から01までsshを実行します。パスワードをリクエストしました。ssh -i 01key [email protected]

なぜ?パスワードを使用しないために秘密鍵接続を使用することはすべてではありませんか? AWSでLinuxサーバーを作成し、特定のインスタンスに秘密鍵を提供し、ssh -I keyパスワードを要求せずにそのインスタンスにアクセスできましたが、何が間違っているのでしょうか。

01keyファイルの権限を確認してみると600です。

編集:すべての回答は関係ありません。公開鍵を使用してSSHを介して接続する方法を知っていますが、それは私が望むものではありません。

AWSでLinuxインスタンスを作成し、SSHキーペアを作成した後、そのAWSインスタンスに接続するために使用できるプライベートキーを提供しました。それは私の意味です。

答え1

01のid_rsa(秘密鍵)の内容を02コンピュータの01keyというファイルにコピーしました。

これは公開鍵認証が機能する方法ではありません。 user01をコピーする必要があります。人々必須

~user01/.ssh/authorized_keys

サーバー02で。次のコマンドを使用すると、これを簡単に実行できます。

ssh-copy-id user01@server02

次に、02から01にSSHを接続します。

逆に、この設定ではsshを使用できます。~からserver01〜server02にはパスワードはありません。

...次のコマンドを使用してください:ssh -I 01key[Eメール保護]

この-IフラグはPKCS#11共有ライブラリを指定します。-iIDを指定することもできます。とにかく必須ではありません。

ssh user01@server02

答え2

公開鍵をサーバーにコピーするには、次のようにします。

ssh-copy-id user2@server

コピーされます(現在のサーバーから):

/home/user1/.ssh/id_rsa.pub

(指定されたサーバーに)ファイルを入力します。

/home/user2/.ssh/authorized_keys

公開鍵を追加して手動で実行することもできます。

cat /home/user1/.ssh/id_pub.rsa | ssh user2@server "cat >> /home/user2/.ssh/authorized_keys"

  • cat /home/user1/.ssh/id_pub.rsauser1 の公開鍵の内容をパイプで連結します。

  • ssh user2@server "[cmd]"user2で指定されたサーバーで指定されたコマンドを実行します。

  • cat >> /home/user2/.ssh/authorized_keysパイプラインデータをインポートしてファイルに追加

答え3

秘密鍵をコピーしないでください。それはid_rsa.pubあなたが望むものであり、通常あなたはそれを置きます~02/.ssh/authorized_keys

関連情報