次の設定があります。ノートパソコンA、コンピュータB、リモートコンピュータCがあります。 CはSSHを介してBからのみアクセス可能であり、BはAからSSHを介してアクセスまたは直接使用できます。 Aは常に直接使用されます。
AからBへ、BからCへの接続にパスワードが必要ないようにSSHキーを設定しました。
ただし、AからBに接続してからCでSSHを試みるときは、まだパスワードを入力する必要があります。ログインするとBで直接使用できるため、Bで明らかに使用できるキーをどのように使用できますか? ?
答え1
Bを介してAからCにSSHを接続するときに使用すると、ssh -vv REMOTE
Bのキーが見つからないことが表示されます。出力は以下で終了します。
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /u/USER/.ssh/id_dsa
debug1: Trying private key: /u/USER/.ssh/id_ecdsa
debug1: Trying private key: /u/USER/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
id_dsa
また、秘密鍵の名前をまたはid_rsa
名前で指定していないことがわかりましたid_rsa_cluster
。私はこれを使ってこれを修正しました。
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa_cluster
これでキーが見つかったので、パスワードを入力しなくてもログインできます。
現在、Bに物理的にアクセスする権限がないため、Bに直接ログインするときにキーが見つかる理由を確認できません。しかし、できるだけ早くこれを追加します。
答え2
AllowAgentForwarding
Bでsshd_configオプションを有効にする必要があります。 SSH クライアントはプロキシ転送をイネーブルにする必要があります。