SSH ProxyCommand が command not found で失敗する
不足している ProxyCommand ヘルパーを特定し、ローカル実行の失敗をプロキシ交渉や SSH ログインの失敗と切り分けます。
connect: command not found は、SSH が ProxyCommand ヘルパーをローカルで起動できなかったことを意味します。修復すべきプロキシのハンドシェイクはまだ発生していません。この名前は独立した実行ファイルを指す可能性があり、シェルの組み込みコマンドや OpenSSH のサブコマンドではありません。
- 選択されているコマンドを特定します。 同じ宛先エイリアスとアカウントに対して有効な SSH 設定を確認します。Host セクション、インクルードされたファイル、コマンドラインオプションによって、編集したファイルとは別の ProxyCommand が選ばれていることがあります。
- 実行ファイルの場所を突き止めます。 起動環境の PATH と、ヘルパーが動作する対話的ターミナルの PATH を比較します。意図した既存プログラムへの絶対パスを指定すれば、この曖昧さは解消します。
- ヘルパーの実装を合わせます。
ncという名前のバイナリなら何でも代用してはいけません。OpenBSD netcat は HTTP CONNECT に-X connect、SOCKS5 に-X 5を使います。他の実装ではこれらのオプションやプロキシの認証サポートがない場合があります。
ヘルパーが起動したら、次の失敗を順番に追います。プロキシへの接続、プロキシ交渉、宛先への接続、そして SSH 認証です。ある段階での失敗は、後の段階に問題があることを示すものではありません。
ProxyJump には SSH ジャンプホストが必要です。この構成を置き換えられるのは、そのサービスが利用可能な場合だけです。設定を変えたからといって、HTTP プロキシが SSH のログイン先になるわけではありません。