AWS Cloud9からVPSサーバへ接続


以前、業務でCloud9を使用していたが、AWSに移行してから使ったことがなかった。
折角なのでAWSのアカウントを作成しつつ、EC2などのインスタンスではなく、
外部に借りているレンタルサーバーに接続することにした。

■AWSのアカウント作成
こちらは特に難しいことはないので、割愛。
因みに初期は違ったようだけれど、AWS前のCloud9はクレジットカードが必要だった。

■Colud9からレンタルサーバーへ接続
SSHで接続できればよいとの事だったので、早速試してみる。
ユーザー名、ホスト名を入れて、NEXTボタンを押下。
しかし、SSH接続エラーとなってしまう。
Public Keyとして表示されている公開鍵をサーバー側に設定必要なようだ。
レンタルサーバーのホームディレクトリに.sshフォルダを作成。
フォルダの権限を700に変更。

mkdir .ssh
chmod 700 .ssh

authorized_keyファイルを作成し、Public Keyの内容をコピー。
権限を600に変更。

touch authorized_key
vi authorized_key
chmod 600 authorized_key

sshd_configの設定についても変更。

/etc/ssh/sshd_config

変更したのは
・PermitRootLogin yes → no
・AuthorizedKeysFile コメントイン
・PermitEmptyPasswords no → yes
※自分が借りているレンタルサーバー上のOSはUbuntu。

変更を反映させるためにsshd再起動。
service sshd restart

AWSに戻ってもう一度接続を試みるが、無慈悲にも同じエラー。
画面をリロードして、試してみるとエラーの内容が変わった!

Could not execute node.js on...

なんだこれは。。。
SSH以外にも下記インストールが必要だけれど、
・Python2.7
・Node.js
2つともインストール済み。

エラーの内容からStackOverFlowの力を借りて、
nodelegacy.jsをインストールしたところ、無事接続できた。

apt-get install nodejs-legacy

初回起動はかなり時間がかかったけど、その後は快適に動作している。
開発が楽しみ。