ssh 접속유지
리눅스에서 ssh 접속 후 아무 작업을 하지 않고 그대로 두면 Connection reset by peer 메시지와 함께
접속이 끊기는 경우가 발생한다.
Read from remote host xxx.xxx.xxx.xxx: Connection reset by peer
Connection to xxx.xxx.xxx.xxx closed.
ping -i 600 localhost 와 같이 실행시켜둘 수도 있겠다. 아~ 그러나 이거 또한 짜증이 아닌가.
터미널 여러개 띄우고 일하다 보면 깜빡할 수도 있는데, 저걸 여러 창에 실행시켜 두는게 얼마나 귀찮은가.
/etc/ssh/sshd_config 에 다음을 추가하고 재실행해주면 새로 접속하는 ssh부터는 아무런 작업을 하지
않는다고 해도 끊기지는 않을 것이다.
#
ClientAliveInterval 600
ClientAliveCountMax 3
1) ClientAliveInterval 초단위 (default 0)
Client에서 수신한 data의 없을 경우 sshd 데몬에서 클라이언트가 살아있는지 체크하기 위한 메시지
(client alive messages)를 보내게 되는데, 이 메시지를 보내는 초단위 간격을 설정한다. 0이면 보내지
않는 것이며, 600이면 600초(10분) 간격으로 클라이언트로 메시지를 보내고 응답을 확인한다.
이 메시지는 암호화된 채널을 통해 보내지므로 스푸핑을 할 수 없다. SSH protocol V2에서만 적용
2) ClientAliveCountMax 횟수 (default 3)
클라이언트에서 응답이 없을 때 메시지를 보내는 횟수를 지정한다. 횟수가 3이면 600초 X 3회 = 총 30분간
응답이 없다면 접속이 끊기게 된다.
자세한 것은 man page에서 확인할 수 있다.