내 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 ~