保持 Windows 的 SSH 连接处于活动状态

保持 Windows 的 SSH 连接处于活动状态

我经常从 Windows SSH 到同一个 Linux 服务器,并使用该服务器设置 SSH 隧道。身份验证是基于密码的,这是公司政策规定的,所以我无法更改。多次提供相同的密码是一场噩梦。

我有阅读有关处理该问题的信息通过保持 SSH 连接处于活动状态。该方案用于 Linux 到 Linux 的连接,需要更新~/.ssh/config文件

Host *
  ControlPath    ~/.ssh/%C.sock
  ControlMaster  auto
  ControlPersist 10m    

在 Windows 上,我可以为 OpenSSH 定义类似的文件。但是,当我设置它时,我开始得到

getsockname 失败:不是套接字

我读了ControlPathWindows 不支持. 如何在 Windows 上保持 SSH 连接处于活动状态?

答案1

多次提供相同的密码是一场噩梦。

在 Linux 中sshpass有帮助。我不知道你是否可以在 Windows 中使用它。继续阅读。

解决方法:只连接到交互式 shell 一次,提供一次密码。

  • 可以在连接时设置预先已知的端口转发。

  • 稍后可以交互方式添加或删除端口转发。使用转义符,默认情况下它是紧跟在后面的波浪符号Enter。按Enter~C(大写 C,因此通常实际上是Shift+ c),输入-h Enter;您应该会看到命令概述,它们允许添加和删除端口转发。注意:

    • 查看手动的了解详情。
    • 你需要EnableEscapeCommandline yes在您的ssh_config~/.ssh/config)中,这个功能才能~C正常工作。
    • 波浪号仅在 之后被识别为转义字符Enter。请记住,Enter无论如何这都会到达远端。
  • 设置ServerAliveIntervalServerAliveCountMax这样您在空闲时就不会断开连接

  • 如果您需要多个终端,请在远程端使用tmux或。screen

相关内容