后台的SSH隧道


17

我有一个期望ssh隧道连接正确执行的进程,并且我一直在使用以下命令:

ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -N &

我已经成功运行了8个月,最近我们的托管服务提供商不得不进行硬件更改以更新我们的计算机,并使用适用于Ubuntu的新内核升级了我们的计算机。它从4.8.3-x86_64-linode76变为4.8.6-x86_64-linode78。

经过一堆麻烦的解决之后,我们不得不将命令更新为:

ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -fN

研究ssh文档时,-f参数

要求ssh在执行命令之前进入后台。如果ssh要求输入密码或口令,但用户希望在后台输入密码或口令,则此功能很有用。这意味着-n。建议在远程站点上启动X11程序的方法是使用ssh -f host xterm之类的方法。

研究“&”的bash命令时

将进程置于后台(请参见“ UNIX操作系统的中间使用”中的多任务)。

这两个命令在根本上有什么区别吗?

Answers:


22

就在这里。从一开始就在后台ssh &运行sshssh -fssh前台开始,允许其提示输入密码等,然后仅ssh在执行请求的命令之前将其置于后台。


您是否有任何线索了解为什么在新服务器上我将被迫使用ssh -f而不是ssh&。除此之外,听起来ssh -f似乎是更好的方法,您是否同意?
developer4fun2011 2013年

也许新系统具有更新的(或只是不同的)ssh客户端?
AlexP
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.