HPC ssh「リモートホストで接続が終了しました」

HPC ssh「リモートホストで接続が終了しました」

私のHPCにはLSFジョブスケジューラがインストールされています。

ログインノードにログインし(xshellを使用)、対話型ジョブ送信コマンドを使用します。

bsub -Is csh

c01そのため、nodeなどのHPCノードの1つを入力しました。

次に、たとえば別のノードに移動したいので、c02次のようにします。

ssh c02

c02正常にノードに入りました。しかし、数分後に接続が切断されました。メッセージは

Connection to c02 closed by remote host. 
Connection to c02 closed.

それでは、この接続をどのように維持する必要がありますか?

使用すると、次のメッセージが生成されます。ssh -vvv c02

debug3: Wrote 64 bytes for a total of 2925
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cfd -1)

debug3: channel 0: close_fds r 4 w 5 e 6 c -1
Connection to c02 closed by remote host.
Connection to c02 closed.
Transferred: sent 2744, received 2384 bytes, in 158.3 seconds
Bytes per second: sent 17.3, received 15.1
debug1: Exit status -1

答え1

SSH接続を維持してみてください。 c01 の ~/.ssh/config に以下を作成または追加します。

host c02
  ServerAliveCountMax 30
  ServerAliveInterval 60
  TCPKeepAlive yes

これにより、30分間に60秒ごとにTCPキープアライブメッセージが送信されます。 https://www.freebsd.org/cgi/man.cgi?query=ssh_config&sektion=5

次のように権限を設定する必要があります。

chmod 700 ~/.ssh
chmod 600 ~/.ssh/config

これらのオプションはコマンドラインにも含めることができますが、設定ファイルを使用すると作業が簡単になります。各ホストに適用したい場合はhost c02使用してくださいhost *。共有ファイルシステムがある可能性があるため、これはすべてのSSH接続に適用されます。

注:これらのオプションはで無効にすることができますsshd_config。無効にすると効果はありません。

動作できるもう1つのオプションは、次の対話型コマンドを実行することです。watch ls ~

関連情報