答案1
您需要在 SSH 配置中使用 ProxyCommand。所以,如果你还没有设置你的~/.ssh/config
,我会参考这里
所以你会想要执行以下操作:
将堡垒作为转发代理放置在 SSH 配置中。
使用 ProxyCommand 代理从堡垒到目标服务器的连接。
这是一个简单的例子:
Host <bastion>
ForwardAgent yes
Host <target_server>
User <user>
Hostname <Ip/Hostname>
ProxyCommand ssh -q -W %h:%p <user>@<bastion> nc 2> /dev/null
IdentityFile ~/.ssh/id_rsa
答案2
从命令行,我使用以下命令执行远程命令,例如top
在目标系统上运行。
$ ssh -qt bastion "ssh -qt target \"top\"\"
这甚至可以与特定用户一起使用sudo
或sudo su - user
作为特定用户运行。
$ ssh -qt bastion "ssh -qt target \"sudo su - user1 -c 'ls -l'\""
以下是ssh
示例中的选项的作用。
ssh -q
= 安静,抑制来自服务器的横幅以最大程度地减少干扰。ssh -t
= 终端,强制分配伪终端,以便面向终端的命令(例如top
和 )sudo
将接受交互式会话。