ポート転送機能を持つMosh(例:SSH)

ポート転送機能を持つMosh(例:SSH)

開発サーバーに接続するときは、次のように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

もちろん、これはモバイル接続で基地局を交換​​するモッシュのケースのような状況では役に立ちません。

答え2

この機能はまだサポートされていません。ただし、SSHセッションを並列に実行する解決策は常にあります。

答え3

Moshは初期接続を確立するためにSSHセッションを開きます。開いたままにすることは、相互作用のためにmoshを使い続けながらポート転送を維持するための良い方法です。私は成功せず、次のように設定しようとしました。

mosh --ssh="ssh -fN" # hangs forever
mosh --ssh="ssh -f" # ssh gets terminated

関連情報