Atom講座

AtomからFTP接続する: Remote-FTPパッケージ

Remote-FTPパッケージのインストール

Remote-FTPパッケージ は Atom から直接 FTP 接続してファイルをアップロードしたり、ダウンロードするための機能を提供します。
まずは環境設定画面([Ctrl] + [,])から Remote-FTP を検索し、検索結果に表示された Remote-FTP パッケージをインストールしてください。

Remote-FTPパッケージの設定

次に接続の設定を行います。
接続の設定は1接続のみなので、複数のサーバを切り替えて使いたい場合は切り替えるたびに設定を書き換える必要があります。

接続の設定はAtomのメニューから[パッケージ]-[Remote-FTP]-[Create SFTP config file]を選択します。
FTP接続の場合は[Create FTP config file]の方を選択します。
メニューを選択するとデフォルトの設定がされた状態で .ftpconfig ファイルがオープンするので、サーバ環境に合わせて設定を変更してください。

.ftpconfig
{
    "protocol": "sftp",
    "host": "example.com",
    "port": 22,
    "user": "user",
    "pass": "pass",
    "remote": "/",
    "agent": "",
    "privatekey": "",
    "passphrase": "",
    "hosthash": "",
    "ignorehost": true,
    "connTimeout": 10000,
    "keepalive": 10000,
    "keyboardInteractive": false
}

各設定項目は下記のとおりです。

protocol :
接続プロトコル
host :
接続先のドメイン名/IPアドレス
user :
接続ユーザ名
pass :
接続パスワード
remote :
接続先のリモートルートパス
agent :
ssh-agentベースのソケットパス
privatekey :
秘密鍵(PEMファイル)のパス
passphrase :
秘密鍵用のパスフレーズ
hosthash :
鍵の暗号化の種類(sha1かmd5)
connTimeout :
タイムアウト時間
keepalive :
SSHのキープアライブ時間

接続ユーザ名とパスワードで接続する場合、最低限 host 、user、pass を設定します。
秘密鍵を使う場合は host、user、privatekey(必要であればpassphrase)を設定します。

例えばAWSのEC2であればhost、user(デフォルトユーザはec2-user)、pass(プライベートキーを使うので空欄)、privatekey、passphrase(パスフレーズを設定していなければ空欄)を最低限設定すれば接続できます。

.ftpconfig
{
	"protocol": "sftp",
	"host": "ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com",
	"port": 22,
	"user": "ec2-user",
	"pass": "",
	"promptForPass": false,
	"remote": "/var/www/smart",
	"agent": "",
	"privatekey": "C:/Users/gonzo/.ssh/smart.pem",
	"passphrase": "",
	"hosthash": "",
	"ignorehost": true,
	"connTimeout": 10000,
	"keepalive": 10000,
	"keyboardInteractive": false
}

接続に成功するとリモートのディレクトリパネルが表示されます。
ここに表示されるファイルは適切なアクセス権限があれば変更したり削除することが可能です。

remoteftp-connect

ローカル、リモートのファイルを右クリックすると、そのファイルに対して操作できるコマンドが表示されます。
ローカルのファイルを右クリックすると、ポップアップメニューに[Upload]、[Sync Local -> remote]という項目が新たに追加されているはずです。
[Upload]は.ftpconfig の remoteに指定したパスに選択したファイルをアップ、[Sync Local -> remote] はファイルの同期をはかります。ここでの同期はファイルサイズを見てファイルをアップロードするかどうか判断しているため、変更してもファイルサイズが同じ場合はアップロードされません。

ツールバーにRemote-FTPのコマンドを追加

Atom Tool Bar(tool-bar)パッケージ、Flex Tool Bar(flex-tool-bar)パッケージを導入している場合、toolbar.cson に下記のような設定をするとツールバーから接続・切断が行えるようになります。

.toolbar.cson
# remote-ftpパッケージのパネル開閉
{
	type: "button"
	icon: "cloud-upload"
	callback: "remote-ftp:toggle"
	tooltip: "リモートパネルの開閉"
}
# remote-ftpパッケージのリモートからの切断
{
	type: "button"
	icon: "circle-slash"
	callback: "remote-ftp:disconnect"
	tooltip: "リモートから切断"
}

関連記事