Sublime Text 2上でSFTP/FTPを使うときに、SFTPプラグインをインストールしたのですが、
サーバーにアクセスする際にパスワードではなく、秘密鍵(.pemとか)でログインする方法です。
以外とすんなり設定出来なかったので、手順をまとめました。
1. Configファイルを作成する
プロジェクトフォルダのコンテキストメニュー(右クリック)から、"SFTP/FTP > Map To Remote"を選択する。するとプロジェクトフォルダ内に、"sftp-config.json"ファイルが作成されます。
2. 秘密鍵を準備する
サーバーにSFTPでログインするための秘密鍵を、適当な場所に用意します。
その際、秘密鍵のファイルのパーミッションが、 自分だけだ読み取れる状態(=0400) になっているか確認します。(なっていないとログインに失敗します。)
パーミッションの変更は、例えばMacであれば以下のようになります。
$ chmod 400 xxxx.pem
3. Configファイルを設定する
秘密鍵の準備が出来たら、Configファイルを編集します。
設定ファイルの内容は、ほとんどデフォルトで問題ないと思いますが、下記だけは設定が必要です。
{
....
"host": "exsample.com",
"user": "user name",
//"password": "password", パスワードはコメントのままにします
"port": "22",
"remote_path": "path",
....
"sftp_flags": ["-o IdentityFile=~/path/xxx.pem"],
....
}
最後の"sftp_flags"プロパティの"IdentityFile"に、ローカルの秘密鍵のパスを設定します。
これで秘密鍵を使って、サーバーにSFTP接続出来ます。