質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Q&A

解決済

1回答

2572閲覧

多段SSH接続時のパスフレーズ入力について

mako_H

総合スコア11

公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

0グッド

0クリップ

投稿2018/07/31 09:34

接続環境

以下の接続環境を構築しています.
Client(mac, ssh:22) => 踏み台(CentOS, ssh:22) => PC

Client => 踏み台間では公開鍵認証(パスフレーズ設定済)を用いています.
また,踏み台 => PC間ではパスワード認証を用いています.

Host bastion-server User hoge HostName srv1.×××.××× IdentityFile ~/.ssh/id_rsa # Port 22 Host stage-server User hoge HostName 192.△△△.△△△ # Port 22 ProxyCommand ssh -W %h:%p bastion-server

発生している問題

ClientからPCまで順にsshで接続した際は,パスフレーズの認証を一回のみ(Client => 踏み台)求められました.
しかし,上記の多段接続機能を実装して接続したところ,接続には成功したもののパスフレーズの入力を二度求められます.

Enter passphrase for key '/Users/○○○/.ssh/id_rsa': Enter passphrase for key '/Users/○○○/.ssh/id_rsa': ○○○@192.△△△.△△△'s password:

これは多段接続時の仕様なのでしょうか?
また,パスフレーズの入力を一回で済ますことができるのであればそのようにしたいと考えております.

ご存知の方がいればご教授頂けないでしょうか.

試したこと

踏み台への接続時にIdentifyFileを指定せずとも使用してくれていたので,IdentifyFileの項目をconfigファイルからコメントアウトして試してみたのですが二回入力のままでした.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

パスフレーズの入力を二度求められます.

このケースだと、ProxyCommand に指定された Client→踏み台 の ssh によるセキュアチャネルを通じて、Client→PC という ssh 接続を試みています。

さてそうすると、Client は PC に対してどの認証方法が通じるのか情報がありませんから、まず公開鍵認証から試そうとします( 結果として無駄になるにしても )。その際にパスフレーズの入力が必要となるので、ProxyCommand での ssh と合わせて2回聞かれることになります。

なので、PubkeyAuthentication noを対Clientに設定して、公開鍵認証を試さないように指定してあげれば、そのパスフレーズ入力もなくなるはずです。

なお、個々にsshを実行した時にパスフレーズが1度しか聞かれないのは、クライアント→踏み台、踏み台→PCという2個のsshが別々に動作する形になっていて、この2段階目のsshを実行している踏み台サーバでパスフレーズ付きの鍵がないからでしょう。
※1コマンドでやると、ssh -t hoge@bastion-server ssh hoge@stage-server で、ProxyCommand指定時とは状況が違います

投稿2018/07/31 11:27

angel_p_57

総合スコア1672

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mako_H

2018/08/01 01:44

回答ありがとうございます.また,返事が遅くなり申し訳ございません. パスフレーズが二度表示されるのには,そのような理由があったのですね.参考になります. また,ご教授頂いたオプションを`~/.ssh/config`内の`Host stage-server`に追加したところ,無事デフォルトの認証がパスワードとなり重複がなくなりました. 私が求めていた理想の回答を下さり,本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問