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