在后台打开 ssh 连接

在后台打开 ssh 连接

我查看了很多与此相关的类似问题,但没有找到任何可以解决我的问题的方法。

我希望能够打开与我所在大学服务器的 ssh 连接,并在后台保持连接打开。我的做法是,通过 ssh 进入大学服务器并运行脚本,然后将文件从那里复制到我的远程服务器,例如:

$ssh [email protected] "./bin/script"
[email protected]'s password:
$scp [email protected]:~/some_file.txt .
[email protected]'s password:

我多次执行此命令序列,最终我的连接被拒绝,因为大学误以为它是恶意软件。所以我想做的是打开 ssh 连接一次,然后保持打开状态,这样我就可以连续在远程服务器上运行脚本。我不想在另一个终端中打开 ssh 连接,因为打开两个终端并不断按 alt+tab 切换到错误的终端非常烦人。肯定有办法做到这一点,我真的很感激一些帮助。

答案1

ssh 可能会重用现有的连接。

以下是一个答案的引用切普纳对此Stack Overflow 上的类似问题

如果您使用以下命令打开第一个连接-M

ssh -M $REMOTEHOST

后续连接将$REMOTEHOST“搭载”由 master 建立的连接ssh。最值得注意的是,不需要进一步的身份验证。man ssh_config有关更多详细信息,请参阅“ControlMaster”。用于-S指定共享套接字的路径;我不确定默认值是什么,因为我使用配置文件配置连接共享。

在我的.ssh/config文件中,有以下几行:

host *
  ControlMaster auto
  ControlPath ~/.ssh/ssh_mux_%h_%p_%r

这样,我就不必记住使用-M-Sssh确定主机/端口/用户名组合是否已经存在可共享的连接,并在可能的情况下使用该连接。

相关内容