SSHトンネリングでssh_aliasを使用する

SSHトンネリングでssh_aliasを使用する

ゲートウェイの背後にあるシステムにログインするために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

ゲートウェイキーをローカルボックスにコピーせずにlocalsshキーをインストールできるようにする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

おすすめ記事