ゲートウェイの背後にあるシステムにログインするためにSSHトンネルを使用しています。問題は、ゲートウェイサーバーの~/.ssh/configにssh_aliasが定義されていることです。キーとIPがどこかに設定されています。ただし、これらのエイリアスはncコマンドには適用されません。 ncコマンドにエイリアスを使用し、ゲートウェイサーバーで実行されたキー設定を使用する方法はありますか?したがって、ローカルサーバーからキーをダウンロードする必要はありません。例:ゲートウェイサーバー
~/.ssh/config
Host test
HostName 192.168.1.10
IdentityFile ~/keys/test
User test
ローカルサーバー~/.ssh/config
Host test
ProxyCommand ssh gateway nc %h %p
ncがテストについて知らないため、次の設定は失敗します。
答え1
質問した内容はほぼ同じですこれ。
ゲートウェイからローカルボックスにキーをコピーしたくない場合は、対応する投稿(および下)の方法1(bashエイリアス)を使用することです。 ssh_configは何もしません。 ssh_configを含むエイリアシングとトンネリング方法の違いについての詳細な説明がありますProxyCommand
。
方法1
で~/.bashrc
次の行を追加します。
alias ssh-test='ssh -t gateway ssh test@test'
コマンドプロンプトで次のように入力します。
ssh-test
実行される作業はssh -t gateway ssh test@test
以下とほぼ同じです。
local# ssh gateway
gateway# ssh test@test
2つのステップを1つにまとめるだけでなく、サーバーでシェル(csh、bashなど)を開くのをスキップし、gateway
認証の直後にSSHセッションを開始しますtest
。
ローカルシステムには ~/.ssh/config は必要ありませんが、ゲートウェイtest
(キーを使用するため)を維持してください.
ForwardAgent yes
ゲートウェイに追加.ssh/config
Host test
HostName 192.168.1.10
ForwardAgent yes
IdentityFile ~/keys/test
User test
方法2
ゲートウェイキーをローカルボックスにコピーせずにlocal
sshキーをインストールできるようにするtest@test
には、次のようにします。
地元の~/.ssh/config
Host gateway
User <gateway user>
HostName <gateway/IP>
Host test
User test
Hostname 192.168.1.10
Port 22
ProxyCommand ssh gateway nc %h %p