NOTICE 
ServerAliveInterval 에 해당하는 글 : 1 개




  

ssh로 Ubuntu 리눅스 서버에 접속해서 사용중인데 이게 얼마동안 놔두면 접속이 끊어져 버렸다.

정말 짜증나서 찾아보니 ssh의 접속을 유지하는 방법이 있었다.



Server쪽에서 설정을 변경하는 방법


(1) ssh 데몬의 설정파일을 수정해서 접속 유지 시간을 늘려주는 방법


/etc/ssh/sshd_config 파일를 에디터로 열고 아래와 같이 수정한다.


TCPKeepAlive yes

ClientAliveInterval 60


클라이언트로 부터 60초간 입력이 없으면 ssh 데몬이 null 패킷을 클라이언트로 전송해서 연결을 유지시킨다.

디폴트는 0으로 클라이언트로 패킷을 보내지 않는다.

설정후 ssh를 재시작해 주어야 한다.




Client쪽에서 설정을 변경하는 방법


아무래도 서버의 설정을 변경하는 것보다는 클라이언트의 설정을 변경하는 것이 훨씬 안전하다.

그리고 서버쪽 설정을 맘대로 바꿀 수 없는 경우도 있기 때문에 클라이언트 설정을 바꾸는 방법이 좋다.


(1) 클라이언트의 ssh 설정파일을 변경하는 방법


ssh의 설정파일(/etc/ssh/sshd_config or /etc/sshd_config)에 null 패킷을 서버로 전송하도록 추가한다.


ServerAliveInterval 60


위와 같이 하면 60초 간격으로 null 패킷을 클라이언트가 서버로 전송한다. 이로 인해 연결이 유지된다.

 


(2) (1)번 대신 자신의 홈디렉토리의 ssh설정파일(~/.ssh/config)을 수정해서(없으면 만들어서) 아래와 같은 내용을 추가해도 된다.


Host *

Protocol 2

ServerAliveInterval 60



(3) 만약 putty와 같은 클라이언트 프로그램을 사용한다면 접속 유지 시간을 설정할 수 있는 메뉴를 제공한다.


PuTTY configuration -> Connection -> Enable TCP keepalives를 체크

Seconds between keepalives에 시간 설정


이러한 메뉴에서 연결을 유지하도록 설정하면 된다.



  
트랙백   |  댓글   |
 이전  1   다음 

최근댓글
최근트랙백
fotowall :: ncloud RSS Feeds today :    yesterday :
total :