【发布时间】:2013-08-13 23:34:03
【问题描述】:
我通常不会在多个 ssh 跃点上尝试此操作,但由于限制,这是我唯一的选择。
我正在尝试运行以下远程命令,它可以像这样正常工作:
ssh -i ~/.ssh/host-rsync-key user\@server1 "'sed -i /ADD_NEW_BELOW/a <server>domain</server>' /config.xml"
添加第二个 ssh 跃点,我认为 shell 正在剥离某些东西并导致此命令永远不会在 server2 上执行,而是似乎在 server1 上执行。
ssh -A -t -o -i ~/.ssh/host-rsync-key user\@server1 ssh -A -o -i ~/.ssh/host-rsync-key user2\@server2 "'sed -i /ADD_NEW_BELOW/a <server>domain</server>' /config.xml"
任何人都可以提供有关此 sed 命令通过 ssh 所需的正确转义的帮助吗?我可以在 2 跳上运行 grep 命令没问题,所以我认为这是特定于与 sed 命令相关的转义字符。
任何帮助将不胜感激
【问题讨论】:
-
ProxyCommand to the rescue(您还可以在其中设置大部分其他默认值)