如何在远程系统上使用 ssh 向后台发送命令

如何在远程系统上使用 ssh 向后台发送命令

ssh我正在尝试使用&来打开远程系统上的端口,netcat如下所示:

ssh [email protected] 'netcat -l 7777 &'

但它等待显示输出并且不会进入后台!
nohup之前尝试过netcat但得到了相同的结果;

如何netcat在远程系统上使用 ssh 在后台运行?

答案1

你可以使用这个:

ssh -f [email protected] "sh -c 'netcat -l 7777 > /dev/null 2>&1 &'"

查看这个线程

答案2

正式版本是使用-fswitch to ssh,它将整个连接后台化,而无需所有 shell 魔法,如其他答案中所述:

-f

请求 ssh 在命令执行之前进入后台。如果 ssh 要求输入密码或密码短语,但用户希望它在后台运行,那么这非常有用。这意味着-n。在远程站点启动 X11 程序的推荐方法是使用 ssh -f host xterm 之类的命令。

如果 ExitOnForwardFailure 配置选项设置为“yes”,则使用 -f 启动的客户端将等待所有远程端口转发成功建立,然后再将其置于后台。

相关内容