ラベル Mosh の投稿を表示しています。 すべての投稿を表示
ラベル Mosh の投稿を表示しています。 すべての投稿を表示

2012年5月5日土曜日

Mosh (mobile shell) インストール for Ubuntu Server 12.04 LTS



前回のパッケージのアップデートに引き続き、SSHのインストールおよび設定を行います。
それに加え、最近気になっているMosh (mobile shell)も試してみます。

ファイアーウォール設定(ufw)


まずはファイアーウォールの設定でSSHに使用するポートを許可します。
下記の設定はあくまで一例であり、同一ネットワークはセキュアなのが前提です。
そのため環境により適宜変更してください。


sudo ufw default deny
sudo ufw allow proto tcp from 192.168.1.0/24 to any port 22
sudo ufw limit 22/tcp
sudo ufw enable

コマンドの内容


  • デフォルトを拒否に設定する

  • 同一ネットワークからの22番ポートを許可する

  • 外部ネットワークからの22番は限定許可する

  • ファイアーウォールを有効にする



OpenSSHのインストール


apt-getでopenssh-serverをインストールします。


sudo apt-get install openssh-server


インストールが完了するとsshdが自動起動するので、別のPCなどのターミナルで接続します。
次に鍵を作成します。


ssh-keygen -t rsa
Enter file in which to save the key (/home/[ユーザ名]/.ssh/id_rsa): [Enter]キーを押す
Created directory '/home/[ユーザ名]/.ssh'.
Enter passphrase (empty for no passphrase): パスフレーズを入力して[Enter]キーを押す
Enter same passphrase again: 再度パスフレーズを入力して[Enter]キーを押す

cd $HOME/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

作成した秘密鍵(/home/[ユーザー名]/.ssh/id_rsa)を自分のPCなどにコピーします。


パスワード認証を停止


sudo vi /etc/ssh/sshd_config
次の項目の設定を追記または書き換え保存する
PasswordAuthentication no
UsePAM no


sshdの設定再読み込み後にログアウトして秘密鍵を使用して再度SSHで接続します。


sudo service ssh reload



Mosh用ファイアーウォールの設定


moshは、デフォルトでudpの60000から61000番ポートを使用するので、
今回はそのままポートを開けますが、このあたりはポリシーに従って適宜変更が必要です。
使用状況にもよりますが、モバイル用途なら常時ヘビーに使う感じがしないので、
使用する人数分かその倍ぐらいのポート数でも十分ではないかと思います。


sudo ufw allow proto udp from 192.168.1.0/24 to any port 60000:61000
sudo ufw limit 60000:61000/udp



Moshのインストール




  • サーバ側


sudo apt-get -y install mosh


Moshのバージョンをサーバとクライアントで合わせたい場合は、
ソースコードやgitからインストールしてください。
ちなみに今回のバージョンは、サーバ側1.1.3、クライアント側1.2と異なりますが動作しました。


  • クライアント側(Macの場合)


次のいずれかの方法でインストールしますが、今回はパッケージでインストールしました。


  • パッケージの場合

https://github.com/downloads/keithw/mosh/mosh-1.2.pkg


  • Homebrewの場合

brew install mobile-shell


  • MacPortsの場合

sudo port install mosh



Moshで接続する




  • クライアント側からmoshコマンドでサーバに接続する


mosh [ホスト名]



  • ポート番号を指定する場合


mosh -p [ポート番号] [ホスト名]


これでmosh接続完了です。

mobile shellというだけあって、WiFiを切ったりPCをスリープさせて復帰した後でも
すぐに再接続してコマンド入力できました。
ただし、screenやtmuxの代わりになるわけではないので併用するのがよさそうです。