我有一个命令将端口从我的计算机转发到服务器,如下所示:
ssh -L 8000:localhost:8888 myserver.com
我想在后台运行这个命令。我不需要输入用户名和密码,因为我已经设置了公钥。
我尝试&
在末尾添加,如下所示: ssh -L 8000:localhost:8888 myserver.com& 但是,我收到以下错误:
[1] + 30825 suspended (tty output)
我也尝试过nohup
,如下:
nohup ssh -L 8000:localhost:8888 myserver.com&
exit
但端口没有转发。
最后我尝试了一下ssh -f
,如下:
ssh -L 8000:localhost:8888 myserver.com
并且,我收到以下错误:
Cannot fork into background without a command to execute.
我的目标是在后台保持 ssh 连接处于活动状态,而不保持终端打开。有什么帮助吗?
答案1
您提到ssh -f
,这是正确的,但您错过了-N
,这是拼图的剩余部分:
-N
不要执行远程命令。这对于转发端口很有用。 [...]
很近!尝试这个
ssh -fN -L 8000:localhost:8888 myserver.com