HPC ssh "원격 호스트에 의해 연결이 종료되었습니다"

HPC ssh "원격 호스트에 의해 연결이 종료되었습니다"

내 HPC에는 LSF 작업 스케줄러가 설치되어 있습니다.

로그인 노드에 로그인하고(xshell 사용) 대화형 작업 제출 명령을 사용합니다.

bsub -Is csh

c01그래서 node 와 같은 HPC 노드 중 하나를 입력했습니다.

그런 다음 예를 들어 다른 노드로 이동하고 싶기 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 keepalive 메시지가 전송됩니다. 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. 비활성화할 경우 아무런 효과가 없습니다.

작동할 수 있는 또 다른 옵션은 다음과 같은 대화형 명령을 실행하는 것입니다.watch ls ~

관련 정보