[筆記]mosh使用筆記


聽說mosh好使,那么怎么在Mac本下使用mosh來登錄Ubuntu及AWS服務器呢?

mosh介紹

mosh官網在:https://mosh.org/
代碼開源在:https://github.com/mobile-shell/mosh

賣點就是通過UDP傳輸,網絡切換可以自動重連,不會導致執行中的命令斷掉。

mosh安裝

Ubuntu下安裝mosh服務器:

$ sudo apt-get install mosh

Mac下安裝mosh客戶端:

$ brew install mosh

運行

Ubuntu下運行mosh-server:

$ mosh-server


MOSH CONNECT 60001 y8btZAE3fjpmzQu7s/4XWg

mosh-server (mosh 1.3.2) [build mosh 1.3.2]
Copyright 2012 Keith Winstein <mosh-devel@mit.edu>
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

[mosh-server detached, pid = 7195]

看到mosh-server detached不要慌,畢竟它也不監聽端口。

假設服務器地址為123.123.123.123,用戶名是etworker,則Mac下運行:

$ mosh etworker@123.123.123.123

如果一切順利,連接起來就像ssh一樣。
如果服務器ssh的端口是2222,則用下面的方式連接:

$ mosh --ssh="ssh -p 2222" etworker@123.123.123.123

注意

Mosh使用的UDP協議連接的,使用的端口是從60000到61000,如果開啟了防火牆服務器上就需要打開相應的UDP端口。
一個Mosh連接就會打開一個UDP端口,比如建立兩個連接就是60001、60002,以此類推。

假設Mosh使用60001 UDP端口,則在服務器上運行

$ iptables -I INPUT -p udp –dport 60001 -j ACCEPT

這樣就在服務器上打開60001這個UDP端口。
當然,最好是把上一條命令寫入服務器iptables的規則中,這樣不必要每次都手動打開這個端口。

Amazon AWS

我在Amazon上的服務器是通過key文件做的鑒權,所以先說一下Mac怎么ssh上去。

先將密鑰文件拷貝到Mac上,比方說文件名叫xxx.pem,然后修改權限:

$ chmod 400 xxx.pem

假設服務器地址是111.111.111.111,進到xxx.pem同目錄下,ssh如下:

$ ssh -i xxx.pem ubuntu@111.111.111.111

此時在服務器上安裝mosh,方式同上。
注意需要在安全組里面配置端口,開放6000-61000的UDP端口。
安全組的端口過濾方法,應該不需要再細說了吧。

接着就可以使用Mac來連接了:

$ mosh --ssh="/usr/bin/ssh -i xxx.pem" ubuntu@111.111.111.111

參考文獻


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM