我有一个期望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操作系统的中间使用”中的多任务)。
这两个命令在根本上有什么区别吗?