私は、ssh接続をバウンスするためのいくつかの普遍的なオプションを設定しようとしています。これが私の~/.ssh/config
ファイルです。
Host *%via
ProxyCommand ssh gateway -W $(echo %h | cut -d%% -f1) %p
Host gateway
HostName gateway.example.com
User username
ForwardAgent yes
IdentityFile keypathg
Host target
User username
HostName target.example.com
IdentityFile keypatht
エイリアスを利用*%via
するとHost
、次のようになります:
% ssh -vvv target%via
OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013
debug1: Reading configuration data /Users/myuser/.ssh/config
debug1: /Users/myuser/.ssh/config line 5: Applying options for *
debug1: /Users/myuser/.ssh/config line 12: Applying options for *%via
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: auto-mux: Trying existing master
debug1: Control socket "/Users/myuser/.ssh/tmp/target%via_22_myuser" does not exist
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec ssh -A gateway -W $(echo target%via | cut -d% -f1):22
debug1: permanently_drop_suid: 501
debug1: identity file /Users/myuser/.ssh/id_rsa type -1
debug1: identity file /Users/myuser/.ssh/id_rsa-cert type -1
debug1: identity file /Users/myuser/.ssh/id_dsa type -1
debug1: identity file /Users/myuser/.ssh/id_dsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
ただし、利用する場合
% ssh target.example.com%via
ターゲットサーバーにアクセスしましたが、間違ったユーザーであり、公開キー認証がありません。
私は考えて私の質問は、この時点で、利用する場合、バウンスのこの方法をんでForwardAgent
、私のsshのconfig /環境全体、または単にキーを通過します。キーだけの場合、前者は何らかの方法で利用できますか?
私のsshバージョンは5.9v1、ゲートウェイは5.9v1、ターゲットは5.3p1です。-W
5.4で導入されたと思いますが、最後のボックスでは問題になりませんか?古い学校を利用することnc
も同じです。
行の各ボックスに手動でsshできることを確認しました。そうすることで、ホスト名エイリアス情報が渡されないことを示します。これは、ゲートウェイ上にいるときssh target
はできssh target.example.com
ますが、できません。これはpubkey authで機能します。ゲートウェイとターゲットは偶然同じユーザー名を持っているため、設定がプッシュされない場合はこれが機能します。
ForwardAgent
または同様の構成がこの情報をプッシュできない場合、この情報をゲートウェイに.ssh / configを保持して、それを回避する最も簡単な方法は何ですか?