リモートサーバー上のファイルをローカルのSublime Textで編集する

普段はSublime Textで作業しているけどsshでリモートサーバーにログインしてサーバー設定するときはvimを使うというような人はたくさんいるかと思います。

ちょっとした設定くらいならvimでもいいんだけど書く量が多い場合はSublime Textで書きたいと思う人もいるんじゃないでしょうか。 rsubなんですが、rsubをサーバーにインストールするとリモートサーバー上のファイルをSTで編集できるようになっちゃいます。

もともとはTextMate2にあるrmateという機能でSSHトンネルを作ることでこの機能を実現してます。 これをSublime Text用にしたものがrsubです。Sublime Text 2, Sublime Text 3どちらでも動きます。

導入方法 Ctrl+Shift+Pでコマンドパレット開いてInstall Packageでrsubを選んでインストールしてください。ST側はこれだけ。 続いてsshの設定。

sshのconfigファイルを書きます。

~/.ssh/config

Host hogehoge
    HostName xxx.xxx.xxx.xxx
    User hoge
    identityfile ~/.ssh/User/id_rsa
    RemoteForward 52698 127.0.0.1:52698

サーバーにSSHログイン

ssh hogehoge

rsubをインストール

sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate
sudo chmod +x /usr/local/bin/rsub

あとはrsubコマンドでファイルを開くとSublime Textが立ち上がります。

sudo rsub ~/PATH/TO/FILE/hoge.txt

sudo実行時にcommand not foundとか怒られたら$PATH通ってないので通しましょう。

sudo visudo
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/local/bin:/usr/bin

これで動きました。

ST側でsaveするとちゃんと反映されます。

[参考サイト]

Sublime Tunnel of Love: How to Edit Remote Files With Sublime Text via an SSH Tunnel | Limina.Log

rmateをサーバーにインストールしてリモートのファイルをTextMate2で編集する方法 - memo.yomukaku.net