職場には、sudo ssh
ターゲットホストにSSHを接続する必要があるSSHジャンプホストがあります。このような:
ssh jump-host
sudo -u sshuser ssh final-host
これをProxyCommandまたは同様のSSH構成設定に統合して実行できるようにしたいのですが、ssh final-host
可能かどうかはわかりません。
答え1
sudo
いいえ。リモート通話を統合できませんProxyCommand
。あなたのユースケースですが、次のようにできます。OpenSSH 7.6(2018年10月)- 使用:
リモートコマンド
サーバーに正常に接続した後にリモートコンピューターで実行するコマンドを指定します。コマンド文字列は行末まで拡張され、ユーザーのシェルを使用して実行されます。
RemoteCommand
以下で説明するトークンのパラメータを受け入れます。トークン部分。
.ssh/config
したがって、次のように入力できます。
Host finalhost
RemoteCommand sudo -u sshuser ssh final-host
RequestTTY yes
Hostname jumphost
Host jumphost
User jumpHostUser
... Other options for jumphost, if necessary
これは端末サブシステムにのみ適用さsftp finalhost
れるためジャンプホスト、いいえ最終ホスト。git
他のツールと一緒に使用することはできません最終ホスト。
答え2
なぜ中継スクリプトがないのですか?
ジャンプホストにスクリプトがありますgoto.sh
sudo -u $1 ssh $2
localhostにスクリプトがありますjump.sh
ssh jump-host goto.sh my-ssh-user $1
次に、localhostで次のようにします。
jump.sh final-host
これは家です
- 各ローカルユーザーは、ジャンプホストに異なるSSHユーザーを持っています。
goto.sh
ジャンプホストの$ PATHにあります
答え3
nc
FinalHostにインストールする必要があります。
Host finalhost
proxycommand sudo ssh jumphost ssh finalhost nc localhost 22
まずssh
、ジャンプホストがあり、次に、ssh
コマンドが接続されるポートであるローカルホストのポート22にデータをトンネリングする最後のホストがあります。