我正在尝试将端口从 Windows 机器转发到 Linux 机器。在此过程中,我想创建一个在后台运行的 ssh 隧道。根据 ssh文档这是通过-f
参数来完成的,以便将隧道置于后台,以及-N
通过参数指示不执行任何命令。
ssh -L <port>:<host>:<port> user@remote_ip -i ~/path/to/id/file
执行完全正常。
运行:(ssh -L <port>:<host>:<port> user@remote_ip -i ~/path/to/id/file -f -N -vvv
注意-f
,-N
)
结果最终导致一些文档停留在:debug1: forking to background
它只是挂起,从未进入后台或让我访问远程服务器。
任何帮助都将不胜感激。
作为参考,我正在尝试将 python 脚本连接到远程 postgres 数据库,这是我第一次在 Windows 环境中工作 - 我在 Mac 上有相同的脚本,运行良好。我正在使用的机器是安装了 OpenSSH 客户端的 Windows 10。
答案1
好的,遇到了同样的问题,稍后进行一些挖掘:
https://github.com/PowerShell/Win32-OpenSSH/issues/999
问题似乎是无法分叉现有控制台,如果您需要在脚本中,则使用“start ssh”或从 powershell 启动进程启动另一个控制台