함께 놀자! Linux와 Python

putty vs mobaxterm

6 2397

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/65qfoWiwKq

    4 hours ago
  • 롬살롱에 갔던 우버 CEO. 해외기업들의 기업문화를 배우자는 기사를 볼 때 물 건너오면 탱자가 되는 그들의 문화를 종종 경험하며 그들과 우리사이에 만리장성은 없고 배우려면 실체를 잘 알아야 합니다 https://t.co/NHcqB9aVf9

    4 hours ago
  • 민주10년 보수 9년. 이젠 정의당 심상정 “더불어민주당 대세론으로 묻지마 정권교체로 선거가 끝나버린다면 새로운 대한민국은 시작도 하기 전에 좌초한다.당장의 정권교체를 위해 민주당에 비판적 지지를 해왔던 많은 시민들이 있다. 비판적 지지를 거두어달라”

    5 hours ago
  • 금융투자회사의 데이타관리, FIGI와 FIBO. 전 세계 자본시장에서 거래하는 상품을 관리하는 표준코드체계, 시만텐 웹 온톨로지를 금융업무에 적용한 FIBO.… https://t.co/tKJhMd2ySo https://t.co/WQFhbIjKSP

    2 days ago
  • “중요한 것은 왜 교회가 박해를 당하는가 하는 점이다. 공격받은 이들은 모두 시민들의 편에 서고자 한 이들이었다. 핵심은 빈자에 대한 태도다” 오늘은 로메로 축일입니다. https://t.co/WtjxHep2AQ

    3 days ago