通过 连接到我的开发服务器时ssh
,我可以通过以下方式将远程端口转发到本地端口:
ssh [email protected] -L 5432:localhost:5432
不过我宁愿使用,mosh
因为我的连接往往会断开。我尝试mosh
使用参数扩展我常用的命令(有效)--ssh
:
mosh --ssh "ssh -L 5432:localhost:5432" [email protected]
这让我连接没有错误 - 但对我的端口没有任何作用。
有没有办法在通过连接时使端口转发工作mosh
?
答案1
我发现了这个功能的一个未解决的问题:莫什的 GitHub。和开放赏金赏金来源目前价格为 616 美元。
所以现在看来还不可能。
--
作为 SSH 断开连接问题的解决方法,我将以下几行添加到我的服务器中/etc/ssh/sshd_config
:
ClientAliveInterval 60 # send null packet every x seconds to clients
ClientAliveCountMax 720 # time them out after doing so y times
随后重新启动 SSH 守护进程并通过 SSH 重新登录。
sudo /etc/init.d/ssh restart
sudo service ssh restart
sudo systemctl restart ssh
当然,这对于像 mosh 那样更换移动连接上的手机信号塔的情况没有帮助。
答案2
尚不支持此功能。但是,总有一种解决方法可以并行运行 SSH 会话。
答案3
Mosh 打开 ssh 会话来设置初始连接。保持打开状态是维持端口转发的好方法,同时仍然使用 mosh 进行交互。我尝试过这样设置但没有成功:
mosh --ssh="ssh -fN" # hangs forever
mosh --ssh="ssh -f" # ssh gets terminated