Ubuntu에서 ssh 접속 유지하기
ssh로 Ubuntu 리눅스 서버에 접속해서 사용중인데 이게 얼마동안 놔두면 접속이 끊어져 버렸다. 정말 짜증나서 찾아보니 ssh의 접속을 유지하는 방법이 있었다. Server쪽에서 설정을 변경하는 방법 (
khie74.tistory.com
patrickmn.com/aside/how-to-keep-alive-ssh-sessions/
How to Keep Alive SSH Sessions
How to Keep Alive SSH Sessions February 7, 2010 Many NAT firewalls time out idle sessions after a certain period of time to keep their trunks clean. Sometimes the interval between session drops is 24 hours, but on many commodity firewalls, connections are
patrickmn.com
zetawiki.com/wiki/SSH_%EC%A0%91%EC%86%8D_%EC%9C%A0%EC%A7%80%EC%8B%9C%EA%B0%84_%EC%97%B0%EC%9E%A5
SSH 접속 유지시간 연장 - 제타위키
다음 문자열 포함...
zetawiki.com
[Ubuntu]
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에 시간 설정
이러한 메뉴에서 연결을 유지하도록 설정하면 된다.
출처: https://khie74.tistory.com/1169521469 [광수의 일본(日本)과 IT이야기]
'[공부용]참고 사이트 모음 > [Linux]' 카테고리의 다른 글
[linux] 디렉토리 용량 확인 du (0) | 2021.04.22 |
---|---|
[리눅스] 디렉토리 이하 파일 개수 세기 (0) | 2021.04.21 |
서비스 성능 향상을 위한 서버 부하 및 리소스 모니터링 방법 (0) | 2021.03.19 |
리눅스 메모리 관리 (0) | 2021.03.19 |
[리눅스] CPU 정보 확인 (0) | 2021.02.26 |