moshをさくらVPSで使う(Ubuntu12.04)
Moshという端末をリモートで操作するSSHの代替となるソフトウェアをちょっと使ってみたかったのでインストールをしてみた。
Moshは通信環境が不安定環境、例えばモバイル環境でも安定したリモート接続ができるようになるとのこと。さらにSSHよりも高速に動く。パソコンをスリープ状態にして復帰した時にリモートの接続が切れない、早くコマンドを打ったとしてもスクリーンが固まったりしないというのは便利なのです。
設定
まずSSHの設定がいるようなので、公開鍵とかを作る。
ホスト側で
ssh-keygen -t rsa "example@example.com" #->このあとパス設定とかいろいろでる
作ったら安全のためscpを使ってリモート側に送る。
scp -2 id_rsa.pub username@hostname:scp_id_rsa.pub ### scp [オプション][転送したいファイル名][転送先のパス] ### [転送先のパス] は [username]@[hostname]:[path] ### [path]はディレクトリを省略するとホームディレクトリを示す
次はリモート側(Ubuntu)で
mkdir -p ~/.ssh chmod 700 ~/.ssh cat scp_id_rsa.pub >> ~/.ssh/authorized_key
サーバーで鍵の追加が終わったらUbuntuにMoshのインストールをしておく。
sudo apt-get install mosh
ポートの開放も必要なのでしておく。
sudo ufw allow 60000:61000/udp
これが終わったらホスト側で、Moshをインストールする。自分の環境がMacなので、Macのbrewを使った設定をする。
Macの場合のインストールで気をつけないといけないのがbrew install moshとやるとSchemeインタプリタのMoshがインストールされるので気をつけてインストールする。
# × まちがい # brew install mosh # ◯ せいかい brew install mobile-shell
間違えてインストールした場合は
brew uninstall mosh
でアンインストールする。
Schemeインタプリタのmoshを先にインストールしてしまうとアンインストールしても
mosh 1.2.3 already installed, it's just not linked
とか出てしまって、関連付けがうまくいかなかった。失敗してる場合は
brew link mobile-shell
とやって、関連付けを直す。
インストールが終わったら
mosh username@hostname
で接続できるみたい。
でも...
mosh requires a UTF-8 locale. Connection to hostname closed. /usr/local/bin/mosh: Did not find mosh server startup message.
( ゚д゚)………
はいはいlocaleが間違っているんですねっと
調べるためにUbuntu側でlocaleと打ってみる。
$ locale ↓ LANG=C LANGUAGE= LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL=
はいUTF-8になってないと...。
utf-8にするために、検索で調べてみるとlanguage-pack-jaとかインストールすれば設定できるみたい。
Ubuntu側で、
sudo apt-get install language-pack-ja export LANG=ja_JP.UTF-8 sudo update-locale LANG=ja_JP.UTF-8
/etc/ssh_config の PermitUserEnvironmentは見つけきれなかったのでやらなかった。
ロケール設定が終わったら、Mac側でmoshのコマンドを打つ。
mosh pogin@hostname
# -> [pogin@hostname ~]
セキュリティが心配な場合、接続ポートを限定したほうがよい。ポートを指定する場合は
mosh -p 60100 username@hostname
で特定ポートでmoshを使えるようになる。
(追記2013/3/5):他にポート指定のオプションのやり方は種類があるので、公式サイトのUsageのところを見れば良い。(どうもmoshはファイアウォールの設定に影響されやすいっぽい)
これでmoshが使えるようになった。これならさくらのサイト上のリモートコンソールを使わずにシェルを使うことができる。なので非常に楽かつ、接続が切れても問題ないのが嬉しい。
SSHの設定とかはドットインストールという3分動画でマスターできる初心者向けプログラミング学習サイトでわかりやすく説明してくれてる。
ここでは他に、Apache, PHP,ファイアウォールなどの設定の講座をしてくれているのでスタートにはとても便利なものになってる。自分もドットインストールのビデオを見てPHPを動かせるところまでやってみようと思う。
http://dotinstall.com/lessons/basic_sakura_vps