以编程方式发送 SSH 转义字符

gog*_*ors 5 linux ssh bash

当我 ssh (OpenSSH) 到服务器时,我可以输入“~C”进入 ssh 的命令行,然后打开一些隧道。有没有办法编写脚本或编写 C 程序来做到这一点?我想通过 ssh 连接到我的服务器,然后运行命令来打开隧道。

dan*_*an3 2

  • 在手动建立的 SSH 会话中,不会——程序输出的任何内容都会进入其标准输出
  • 否则你可以编写一个程序来驱动 ssh 会话。或者您可以使用expect它来驱动一个,如http://ubuntuforums.org/showthread.php?t=220139(或搜索expect + ssh以获取更多示例)
  • 驱动 SSH 客户端的程序可以使用服务器打印的信息来打开适当的隧道(通过读取服务器输出,然后在有足够的信息时模拟 ~C 按键)