ssh 접속이 자꾸 끊겨서 짜증날 때

요새 SSH 터널링을 이용해 원격 MySQL 서버를 로컬 MySQL 서버처럼 쓰곤 하는데 잠시 식사하고 돌아오면 접속이 끊기곤 한다. MySQL 서버 두 대에 접속해야 하는데 매번 두 번씩 암호를 치려니 어찌나 귀찮은지. 그래서 짜잔~

일정시간이 지나도 ssh 접속이 끊기지 않게 설정하는 법을 찾아봤다. 크게 두 가지 접근법이 있다.

  1. 원격 서버의 설정을 바꾼다.
  2. 내 로컬 설정을 바꾼다.

원격 서버를 손 보면 팀원 전체가 그 혜택을 보겠지만 내 입장에선 여러 대의 서버를 손 보는 것보다야 내 컴퓨터의 설정만 바꾸는 편이 편하다. 설정 파일은 두 군데 있다.

  • 로컬 컴퓨터의 모든 계정에 적용하려면 /etc/ssh/ssh_config/etc/ssh_config(MAC OS X)
  • 내 계정에만 적용하려면 ~/.ssh/config

를 편집/생성한 후에

ServerAliveInterval 60

이렇게 한 줄 추가하면 60초마다 신호를 보내서 접속이 끊기지 않게 한다. 서버 쪽에서 특별한 설정을 하지 않으면 무제한! 1시간이고 2시간이고 접속이 끊기지 않는다. 너무 길다 싶으면 한 줄 더!

ServerAliveInterval 60
ServerAliveCountMax 30 

이렇게 하면 60초마다 신호 보내는 일을 총 30회까지 한다. 다시 말해 30분 정도 접속을 유지한다.

끝~

참고 문헌

Advertisements

최 재훈

블로그, 페이스북, 트위터 고성능 서버 엔진, 데이터베이스, 지속적인 통합 등 다양한 주제에 관심이 많다.
Close Menu