Удаленное редактирование файлов в Sublime Text 2 по SSH

в 7:46, , рубрики: ssh, Веб-разработка, удаленное управление, метки: , ,

Речь пойдет об использовании rmate, небольшого скрипта позволяющего из консоли открыть удаленный документ в локальном текстовом редакторе, вместо nano или vim, он был написан для TextMate и те кто перешел на ST2 с этого редактора, наверняка пользуются этим инструментом, да и «матерые разрабы» не найдут в посте много нового, но если вы только начали пользоваться ST2 и единственный инструмент удаленного редактирования о котором вы слышали, это плагин SFTP, добро пожаловать под кат за подробностями.

Сразу хочу уточнить, на удаленном сервере у меня Ubuntu, а передо мной Mac OS X, на других системах не пробовал, если напишите о вашем опыте с другими ОС в комментариях, буду премного благодарен.

На самом деле, все предельно просто, не так просто как с упомянутым плагином SFTP, но все же, под силу даже совсем новичку. Важно, что для работы rmate, на сервере должен быть установлен ruby интерпретатор, либо можете использовать rmate переписанный на php.
Первое, что нужно сделать, установить плагин rsub для ST2 (доступен через Package Control), затем, если еще не создан, то создайте файл config в ~/.ssh и добавьте в него несколько строк

Host myhost
  Hostname <ip-адрес удаленного сервера>
  RemoteForward 52698 127.0.0.1:52698

Это нужно для того, чтобы туннель для вашего сервера всегда создавался автоматически, без ключа -R и объявления пробрасываемых портов. Порт 52698 прослушивается плагином rsub по умолчанию, вы можете использовать другой.

Теперь, подключитесь к удаленному серверу

ssh myhost #или root@myhost

Скачайте rmate

curl https://raw.github.com/aurora/rmate/master/rmate > rmate

Переместите в /usr/local/bin и дайте файлу права на исполнение

sudo mv rmate /usr/local/bin
sudo chmod +x /usr/local/bin/rmate

И это все, работает, запустите ST2 и выполните команду rmate вместо обычных nano или vim

rmate /var/www/test.html #или любой другой файл на сервере

Автор: akurganow

Источник

Поделиться

* - обязательные к заполнению поля