如何发送命令到“内部”ssh会话?

从我的本地机器上查看我login到服务器(我们称之为“Wallace”)的场景,然后从那里ssh到另一台服务器(我们称之为“Gromit”):

 laptop ---ssh---> Wallace ---ssh---> Gromit 

然后,从华莱士到格罗米特的ssh会议挂起,我想杀了它。 如果我input~. 杀ssh,它从我的笔记本电脑杀死了ssh会话到华莱士,因为~被截获的ssh会话,和. 被当作​​一个杀死会话的命令。 我如何向华莱士和格罗米特之间的ssh会话发送命令? 我如何杀死我的“内部”ssh?

添加另一个代字符(即,键入~~. )。 每个连续的代字符都被最外面的ssh会话吃掉,但是如果下一个字符是另一个代字符,它会被传递到下一个会话中。

如果从gromit 1 ,你ssh'ed第三个主机(让我们称之为wensleydale),然后~~~. 会把这个会话放到wensleydale,然后回到你的提示符上。

1这是多么伟大的服务器; 我多久听到一个开发人员的话,“主持人,开玩笑”?

您可以发出任意命令,并从最内层的shell中将输出捕获到一个variables中

 export output=`echo some_cmd | ssh user@host | echo some_cmd2 | ssh user2@host2`