Amazon LightsailでWordPressブログを作ってみる(2)~SSHクライアントでアクセスする~

2017-10-20AWSLightsail

 

前回Lightsailのウェブページから、コンソールを開いてインスタンスにアクセスすることが出来ました。しかしわざわざアクセスする度にウェブページに行くのは面倒なものです。SSHクライアントソフトを使うとローカル環境からアクセスすることが出来ます。

この回では、SSHクライアントであるPuTTYと、Atomプラグインの設定を行います。

環境 : Windows10 64bit

PuTTYでssh接続してみる。

自分のパソコンのOSがWindowsなので、Windowsのsshクライアントで有名なPuTTYを使ってみたいと思います。(余談:最近はWindows公式のopenSSHもあるようデスね。今回はLightsailにドキュメントもあるのでこちらを使ってみます。)

PuTTYインストール

PuTTYのインストーラーをダウンロードして起動してインストールしておきます。

Download PuTTY: latest release (0.70)

MSI (‘Windows Installer’)の64bit版のインストーラーでインストールします。

秘密鍵と公開鍵をダウンロード

SSH接続には秘密鍵と公開鍵が必要です。

今回はインスタンス起動時に自動で作られる鍵を使用します。(自分で作りアップロードすることも出来ます。)

公開鍵と秘密鍵をダウンロードするには、アカウントページを開き、

SSH keysというタブから出来ます。

タブの下にあるKeyの中からTokyoリージョンのKeyを選びダウンロードします。

秘密鍵を作成

ダウンロードしてきたら、次にPuTTYと一緒にインストールされたPuTTYgenを起動します。

上記のLoadというボタンを押して、インスタンスからダウンロードしたpemファイルを選択します。(デフォルトでpemは表示されないようになっているので注意)

そしてSave Private keyとして任意の名前で保存します。これでpemファイルから秘密鍵が取り出せました。

PuTTYでアクセスする。

Puttygenを閉じて今度はPuTTYを立ち上げます。

Host Nameの欄の部分に、前回作り設定した固定IPを入力します。

次に左の欄からssh->Authを開きます。

下画像のような画面になるので、真ん中にあるBrowseボタンを押して、Pytthgenで作ったppkファイルを指定します。

 

そしてOpen。何か聞かれますがYesを押して接続します。するとコンソールが立ち上がります。

これで接続できました。

コンソールが立ち上がった後聞かれるlogin nameはインスタンスのUser nameに描いてあります。デフォルトのままだとbitnamiです。

ログインネームを打ち込むと、前回のブラウザのコンソールでみた画面が表示されるはずです。

設定の保存

後になりましたが、接続を解除する(コンソールを消す)と、設定がすべて消えてしまします。ここまで行った設定を保存する方法があります。

Openボタンを押す前に、最初の画面(左のタブのSessionにあたる)の右下Save Sessonsというフォームがあるので、ここに任意の名前を入力して、Saveを押すと設定が保存されます。

これでまた接続したくなったらPuTTYを立ち上げ、ここでSaveした名前を選択すると、すぐ接続できます。

インスタンス内のファイルを編集する。

後の回でインスタンス内のサーバーの設定をほんの少し編集しますので、次にインスタンス内のファイル編集の仕方について確認しておきます。

インスタンス内の設定ファイルを書き換えるには大まかに2つの方法があります。

・一つはSSHでアクセスしてサーバー内のアプリケーションを起動してサーバー内で編集する方法。

・もう一つはファイルをローカルに落とし編集してまた上げ直す方法です。

サーバー内で編集する方法

サーバーOSには最初からviやnanoなどのエディタがインストールされています。それらをsshクライアントから操作してファイルを編集します。

nanoを使う。

nanoは既にインストールされているテキストエディタです。簡単な編集に向いています。

ファイル名を指定してnanoで開きます。

nano [ファイル名]

ファイルを保存するにはCtrl + O。終了するにはCtrl + Xを押します。

参考:
端末で使うテキストエディタ nano – Linux Mintのメモ

ローカル環境で編集する方法

SFTPクライアント

ローカル環境で編集するにはSFTPで通信できるクライアントを使います。だいたいSFTPクライアントにはファイルをダウンロード/編集/アップロードする同期機能があって、ファイルの編集をするとサーバーに自動で送ってくれます。

FileZilla (Windows, Linux and Mac OS X)、 WinSCP (Windows) 、 Cyberduck (Mac OS X)といったソフトがあります。設定方法が以下に載っています。

Frequently Asked Questions for AWS Cloud

自分は今回これらのソフトは使わず、自分が普段使って慣れているAtomにプラグインを設定して使うことにしました。

Atomのremote-ftp

多くのエディタにもSFTP機能のプラグインがあります。自分の使っているAtomというエディタにもSFTP機能を追加するプラグインが公開されていたのでそれを使うことにします。

remote-ftp

使い方

  • Atomで新しいウィンドを開き、File->Open folderで、編集用のプロジェクトフォルダーを開きます。
  • Packages -> Remote-FTP -> Create (s)FTP config fileでフォルダーに設定ファイルの雛形(.ftpconfig)が作成されます。設定ファイルを以下のように書き換えて保存します。
  • Packages -> Remote-FTP -> Toggle で画面左にパネルが表示されます。
  • パネルのConnectでアクセスします。ルートからのツリーが表示されます。
{
"protocol": "sftp",
"host": "インスタンスの固定IP",
"port": 22,
"user": "インスタンスのユーザー名(デフォルトだとbitnami)",
...
"privatekey": "Puttygenで作ったppkの絶対パス",
...
}

変更したいファイルを左のパネルから選択して、ファイルを編集してファイルの上で右クリックsyncで同期させることが出来ます。

終わりに

今回はSSHクライアントを使えるようにしました。次はDNS周りを設定して独自ドメインにしてみます。

参考

Frequently Asked Questions for AWS Cloud