繁体   English   中英

如何在 Bash 中的嵌套 SSH 连接中运行命令?

[英]How can I run commands in nested SSH connections in Bash?

我需要编写一个脚本来连接到服务器并在那里运行一些实用程序。

所以,如果我想连接到服务器,我会

ssh $server << EOF
run
some
commands
EOF

它工作正常。 但是如果我想做嵌套的 ssh 连接,我会这样做:

ssh $server_1 << EOF
ssh $server_2 << EOF
run some commands
EOF

我猜它工作正常,但我收到错误消息你知道如何正确使用“嵌套”EOF吗? 我知道我可以跑

ssh $server 'run|some|commands' 

但是这里有很多命令,我不能把它写成一行

谢谢你的回答

使用两个不同的“此处文档结尾”分隔符:

ssh $server_1 << EOF1
ssh $server_2 << EOF2
run some commands
EOF2
EOF1

或者更好的是,使用这样的“SSH 跳转主机”:

ssh -J $server_1 $server_2 << EOF
run some commands
EOF

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM