前回のパッケージのアップデートに引き続き、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の代わりになるわけではないので併用するのがよさそうです。
0 件のコメント:
コメントを投稿