네트워크 Mosh : 고통없이 안전한 껍질

Mosh : 고통없이 안전한 껍질

차례:

Anonim

기술 전문가라면 의심 할 여지없이 SSH (Secure Shell)에 대해 알고 정기적으로 원격 시스템에 연결합니다. 훌륭한 도구이지만 SSH는 안정적인 유선 연결이 있다고 가정합니다. 무선 연결에서 항상 잘 작동하지는 않으므로 신뢰할 수 없습니다. 변경된 새로운 도구 인 Mosh 또는 Mobile Shell은 네트워크가 다운되거나 네트워크를 전환하더라도 사용자가 원격 시스템에 연결하고 연결 상태를 유지할 수 있도록합니다.

왜 모쉬?

보안 셸은 홀이나 전국에서 서버에 로그인해야하는 관리자, 프로그래머 및 고급 사용자에게 없어서는 안될 필수 요소입니다. Telnet을위한 안전한 암호화 된 대체품입니다. 훌륭한 도구이지만 Wi-Fi의 모바일 컴퓨터가 일반화되기 전인 90 년대에 설계되었습니다. SSH는 안정적인 유선 연결을 가정하며, 사용자가 모바일로 이동할 때 항상 그런 것은 아닙니다. 많은 사람들이 알다시피 Wi-Fi 연결은 드문 경우가 많으며 연결을 끊지 않고 Wi-Fi에서 LTE로 연결을 변경하는 것은 불가능합니다.


다른 경우에는 연결의 결함이 아니라 사용자입니다. 또는 IT에서 말하는 것처럼 PEBKAC입니다 (키보드와 의자 사이에 문제가 있음). 내가 가장 좋아하는 것은 SSH를 통해 원격 시스템에 로그인 한 것을 잊어 버린 채 뚜껑을 닫는 것입니다. 뚜껑을 열고 터미널 창에 입력했는데 아무 일도 일어나지 않습니다. 내가 할 수있는 일은 세션을 종료하고 다시 로그인하는 것입니다. 성가신 일이지만 셀 수없이 많은 시간을 보냈으며 당신도 그럴 것이라고 확신합니다.


많은 사람들이 GNU Screen 및 tmux와 같은 프로그램을 사용하여이를 완화하려고합니다. 이들은 명령 줄에 대한 탭 브라우징과 같은 것을 제공 할뿐만 아니라 연결이 끊어 질 경우 세션을 보존 할 수있는 터미널 멀티플렉서입니다. 다시 로그인하면 중단 한 곳을 바로 찾을 수 있습니다. 이러한 프로그램만큼 편리하지만 SSH 자체의 문제는 여전히 남아 있습니다.


나는 SSH 운명에 사임했지만 언젠가 나는 셸 서버에서 새로운 프로그램을 발견했다. Mosh는 SSH를 개선하려는 시도로 랩톱에서 사용하기에 적합합니다. 그것은 우리를 Lisp로 데려 간 사람들 인 MIT의 일부 영리한 사람들에 의해 개발되었습니다. 주요 개발자 중 한 명인 Keith Winstein은 작동 방식을 보여주는 비디오를 만들었습니다.


Mosh의 제작자는이를 Wi-Fi, 셀룰러 및 장거리 링크를 통해보다 강력하고 응답 성이 높은 SSH를 대체한다고 설명합니다.

작동 원리

Mosh는 SSP (State Synchronization Protocol)라는 새로운 프로토콜을 사용합니다. 이는 Telnet 및 SSH와 같은 기존의 원격 연결 프로토콜을 기반으로합니다. SSH에서 서버는 해석하기 위해 클라이언트에 다운 스트림 바이트를 보냅니다.


SSP는 다른 계층을 추가합니다. 서버와 클라이언트는 시퀀스 번호를 사용하여 전송 된 내용을 추적합니다. 서버가 이전에 보낸 것보다 높은 시퀀스 번호를 얻는다면 클라이언트가 다른 연결로 이동했음을 알 수 있습니다. 이는 Wi-Fi 네트워크에서 Wi-Fi 네트워크로, 또는 Wi-Fi 네트워크에서 셀 네트워크로 또는 Wi-Fi 네트워크에서 유선 연결로 로밍하기가 쉽다는 것을 의미합니다.


Mosh가 제공하는 또 다른 멋진 기능은 실시간 문자 에코입니다. 일반적으로 SSH를 사용하는 경우 서버가 입력하는 내용을 서버가 반향 할 때 문자를 입력하고 화면에 문자가 표시 될 때까지 지연 될 수 있습니다.

그것을 얻기

흥미가 있다면 Mosh 설치가 쉽다는 것을 알게되어 기쁩니다. 대부분의 주요 Linux 및 Unix 배포판에는 리포지토리에 있습니다. Mosh 홈페이지에는 젠투, 아치 및 페도라뿐만 아니라 데비안 및 우분투를 사용한 예제가 표시됩니다. Mac OS X은 Unix를 기반으로하기 때문에 Mac 사용자도 참여할 수 있습니다. 네이티브 패키지와 Homebrew 및 MacPorts를 사용하여 Mac에서 컴파일하려는 사람들이 있습니다. 시스템에 Mosh가 패키지로 포함되어 있지 않은 경우 필요한 경우 직접 다운로드하여 컴파일 할 수 있습니다.


클라이언트가 설치되면 Mosh를 시작하고 실행하고 로그인 할 준비가 된 것입니다. SSH를 사용하는 것처럼 정확하게 로그인합니다. 실제로 Mosh는 실제로 로그인을 처리하지 않습니다. 로그인 정보를 SSH로 전달합니다. SSH의 공개 키 암호화 기능을 사용하여 비밀번호없이 안전하게 로그인 할 때 유용합니다.


그러나 하나의 캐치가 있습니다. 연결하려면 Mosh 서버가 필요합니다. 다행히도 설치하기 위해 수퍼 유저 일 필요는 없습니다. sysadmin에게 설치를 지시 할 수없는 경우 홈 디렉토리에 파일을 넣고이를 시작할 수도 있습니다. Mosh는 여전히 새롭기 때문에 언젠가는 SSH와 마찬가지로 서버에서도 유비쿼터스가 될 것입니다.


또 다른 것은 : Mosh는 터미널이 UTF-8을 지원할 것으로 기대합니다. 현대의 모든 터미널 에뮬레이터가 수행하지만 원격 시스템의 서버가 연결을 수락하기 전에 $ LANG 환경 변수를 설정해야 할 수도 있습니다.

살아 체류

연결되었으므로 집, 직장, 기차 또는 순항 고도에서 구성 파일을 코딩하거나 편집하거나 원격 컴퓨터를 관리 할 수 ​​있습니다.


Wi-Fi 연결을 해제하여 Mosh가 얼마나 강력한 지 테스트 할 수 있습니다. Mosh는 터미널 상단에 타이머와 함께 연결되어 있지 않다는 메시지를 표시합니다. 다시 연결하면 세션이 중단 된 곳에서 바로 시작됩니다. 랩톱 덮개를 닫으면 작동합니다.


GNU Screen 또는 tmux와 같은 터미널 멀티플렉서와 ​​페어링하면 Mosh가 더 좋습니다. 이전에는 Mosh와 같은 방식으로 사용되어 신뢰할 수없는 연결을 통해 SSH 세션을 활성 상태로 유지했지만 Mosh와 함께 사용할 때 여전히 몇 가지 이점을 제공합니다. 예를 들어, 한 터미널에서 분리하고 로그 아웃 한 후 다른 시스템에서 로그인하고 멀티플렉서를 호출하여 계속 진행할 수 있습니다. 긴 작업에 매우 유용합니다. 또한 IRC의 열렬한 사용자가 쉘 서버에서 연결 상태를 유지하고 필요에 따라 분리하는 것이 인기가 있습니다.

모쉬를위한 시간?

Mosh가 모바일 원격 로그인 환경을 훨씬 향상시키는 방법에 대한 정보를 얻었으므로 직접 사용해 보지 않겠습니까?

Mosh : 고통없이 안전한 껍질