함께 놀자! Linux와 Python

putty vs mobaxterm

6 3089

1.
프로젝트를 하면서 도전을 떠올린 과제가 있습니다. eclipse를 중심으로 개발프로세스의 구축입니다. 제가 아는 서버개발자들의 개발환경은 단순합니다. 대부분 서버에 Terminal로 접속하여 vi로 개발합니다. 서버에 접속할 때 많이 사용하는 프로그램이 Putty입니다. Putty와 vi로 만들 수 있는 개발프로세스는 제한적입니다. vi와 subversion이 대립하지 않지만 디렉토리에 의존한 소스관리를 할 뿐입니다. 지난 몇 개월의 실적를 되돌아 보면 아쉬움이 많이 남습니다. 시간이 정해진 프로젝트에서 개발자의 프로세스를 크게 바꿀 수 없었습니다. 관행은 습관화되어 있고 습관은 단기적인 생산성입니다. 익숙하지 않은 것을 익숙해지려면 시간과 끈기가 필요하고 문화가 바뀌어야 합니다. 저도 부족하고 시간도 부족한 지난 날입니다. 아쉬우면 아쉬운대로 목표를 향해 나아가야 하는 것이 프로젝트입니다. 프로세스보다 더 중요한 것이 결과입니다.

putty를 사용하는 개발자가 저에게 질문을 합니다. 디버깅을 위해 로그 모니터링을 하거나 컴파일시간이 오래 걸리는 작업을 하는 경우 일정시간 키입력이 없으면 putty가 먹통이 된다, 다른 터미날을 구해달라는 요청이었습니다. 제가 요청받은 프로그램은 Teraterm이었습니다.

Tera Term Open Source Project

혹시나 해서 다른 프로그램을 찾아보았습니다. 익히 아는 프로그램들이 많았습니다. 국내 개발자들이 가장 선호하는 프로그램은 넷사랑의 Xshell이더군요. 아쉬운 것은 상용이었습니다. 우연히 눈에 들어온 프로그램이 Mobaxterm입니다. 그냥 단순한 터미날프로그램으로 알았습니다. 그런데 설치를 해서 이것저것 사용해보니까 달랐습니다.

Mobaxterm은 Cygwin에 기반을 둔 프로그램입니다.Putty를 대체하는 프로그램이 아니고 Putty와 Cygwin 및 Xwindows환경을 통합한 제품이었습니다. 단순히 보면 SFTP로 사용하고 있는 Filezilla, 여러 세션을 관리하는 Putty Connection Manager를 통합한 제품입니다.

feature-multiexec

feature-terminal

앞서 넷사랑의 Xmanager와 비슷한 제품입니다. Xmanager는 상용이지만 Mobaxterm은 GNU License입니다.

2.
그런데 Mobaxterm중 SSH Client는 Putty를 기반으로 하기때문에 앞서 증상을 해결할 수 없습니다. 혹시나 해서 찾아보았더니만 이런 답변이 있더군요.

tail -f using PuTTY hangs

좀더 찾아보니까 아래와 같이 친절한 글이 있네요.

Using KeepAlive in PuTTY

정리하면 ‘세션유지를 위힌 빈패킷 보내기’에 특정한 값을 넣어서 사용하면 해결할 수 있을 듯 합니다.

keepAlive

일반적으로 Putty의 문제를 해결하려면 우선 FAQ를 읽어보면 좋을 듯 합니다. 앞서 keepalive도 있습니다.

PuTTY FAQ

만약 TCP Keepalive를 사용하면 어떻게 될까요? TCP Keepalive와 관련한 글을 읽어보시고 판단해보시길.

TCP Keepalive HOWTO

또다른 방법은 SSH Server의 환경설정을 바꾸는 것입니다. 다만 관리자 권한이 있거나 요청할 수 있어야 합니다.

To enable the keep alive system-wide (root access required), edit /etc/ssh/ssh_config; to set the settings for just your user, edit ~/.ssh/config (create the file if it doesn’t exist). Insert the following:

You can also make your OpenSSH server keep alive all connections with clients by adding the following to /etc/ssh/sshd_config:

These settings will make the SSH client or server send a null packet to the other side every 300 seconds (5 minutes), and give up if it doesn’t receive any response after 2 tries, at which point the connection is likely to have been discarded anyway.
How to Keep Alive SSH Sessions중에서

About the author / 

smallake

6 Comments

  1. Dawnblaze Woo 3월 16, 2015 at 5:31 오후 -  응답

    TCP Keepalive는 TCP 프로토콜 옵션 사항으로 OS 수준에서 작동하기 때문에 SSH 클라이언트가 끊어지는 현상과는 관계가 없습니다. SSH 서버에서 사용하는 Keepalive는 응용 프로그램 수준에서 작동합니다.

    Mobaxterm은 터미널 에뮬레이터에다 X윈도 클라이언트 기능까지 하네요? 대박…
    윈도 환경에서는 훌륭한 대안이 되겠네요.

    홈페이지 들어가 보니까 이거 단순한 프로그램이 아니네요.

    • smallake 3월 17, 2015 at 12:45 오후 -  응답

      친절한 의견 감사드립니다.

  2. sirius 3월 17, 2015 at 9:37 오전 -  응답

    좋은 정보 감사합니다.

    참고로 저는 putty 접속 후에 screen 명령어를 사용합니다.

    $screen -S sockname

    스크린에서 빠져 나올려면 “Ctrl+a,d”

    다시 스크린에 접속하려면
    $screen -x sockname

    • smallake 3월 17, 2015 at 12:46 오후 -  응답

      말씀하신 팁을 사용해보겠습니다.

  3. Sungwoo Steve Cho 3월 17, 2015 at 11:10 오전 -  응답

    안그래도 본사 돌아가면 putty 써야했는데 moba로 바꿔야겠네요 ㅋㅋ

    • smallake 3월 17, 2015 at 12:47 오후 -  응답

      같이 일하는 분들중 여럿이 putty에서 갈아타셨어요…. 저도 갈아탔고…무겁지만 좋은 프로그램이라는 생각입니다.

댓글달기

최신 댓글

트윗

  • 필리핀중앙은행이 내놓은 암호통화 가이드라인. 일본처럼 암호통화교환업을 금융업무로 허용합니다. 한국 금융위원회가 어떤 정책을 내놓을지 기대반 우려반입니다. https://t.co/OWYA8GQMzu

    yesterday
  • 주제 하나를 놓고 하루 8시간을 교육하여야 합니다. 저의 내공이 감당할 수 있을지 걱정입니다. 물론 효율적인 기획인지 의문이지만 강의를 하여야 하는 입장에서는 조건입니다. 고민고민끝에 영화 한꼭지, 토론 한꼭지를 넣으려고 합니다.

    yesterday
  • 노랗고 하얀 소방차 색깔이 등장한 짧은 역사입니다. 미국 소방차 색깔은 역사이고 문화이지만 과학입니다. 우리 사회가 관심을 가지지 않는 과학이 담겨져 있습니다. https://t.co/7COUPSmMLE

    yesterday
  • 일자리연대기금을 제안한 현대차노조. 최악의 경우 적립금은 없는 제안이라고 해석입니다. 동일노동 동일임금에 대한 노조의 전향적인 대책이 먼저일 듯 합니다. 급여가 줄어드는 결정을 조합원이 동의하기 힘들겠지만https://t.co/BKm5COJtuM

    yesterday
  • 문재인정부가 공약한 것중 액티브X 및 공인인증서 폐지가 있습니다. 은행도 오픈뱅킹을 제공하는데 국세청도 Hometax를 개편해야 하지 않나요? 세금업무할 때마다 윈도우를 실행하여야 하니 불편이 큽니다.

    yesterday
트레이딩컨설팅그룹이음 서비스

ZeroAOS, 매매API
ZeroFIX/OMS
국내외매매플랫폼
Jira, SPA, Node.js
매매서버 및 튜닝

자세한 정보는 아래를 선택하세요
    바   로   가   기