Всё будет Sublime! Редактирование файлов через ssh

Эта небольшая шпаргалка об одной простой задаче — настройке моего любимого Sublime Text 3 для открытия удалённых текстовых файлов.
Есть удалённый сервер (на FreeBSD, но разницы между BSD и Linux по сути нет), есть локальный компьютер с Windows и Putty. Задача: настроить открытие файлов с удалённого сервера в локальном Sublime Text 3 (для Sublime Text 2 настройка аналогична).
Как обычно всё очень просто, если знать куда и как нажимать. Для начала установим расширение rsub
в Sublime Text. Проще всего через Package Control. Открываем Command Palette (Shift + Ctrl + P), пишем install и видим Package Control: Install Package
, нажимаем Enter. В открывшемся списке находим rsub и ещё раз нажимаем Enter. После установки плагина Sublime Text необходимо перезапустить.
Далее соединяемся с сервером. У меня в качестве консоли стоит bash, но и для всяких там sh/csh и прочих действия будут похожими. Прямо в корневой папке (или где хотите) нужно выполнить:
1 |
wget --no-check-certificate https://raw.github.com/aurora/rmate/master/rmate |
после чего у вас в папке появится файл rmate
.
А вот дальше интереснее! Если у вас есть права администратора, то всё просто: нужно дать файлу права на исполнение и переместить его в bin. Примерно как-то так:
1 2 |
sudo mv rmate /usr/local/bin sudo chmod +x /usr/local/bin/rmate |
Для тех (типа меня!), у кого нет прав рута можно сделать так (подразумевается, что вы знаете, где вы находитесь и что делаете!):
1 2 3 |
mkdir bin mv rmate /home/%USER/bin chmod +x /home/%USER/bin/rmate |
то есть создать папку, перенести туда rmate и сделать файл исполняемым. Для примера, у меня rmate лежит в папке /home/safoyeth/bin
. Дальше нужно добавить путь, где лежит rmate в переменную $PATH
. Конечно, можно каждый раз в консоли выполнять что-то типа такого:
1 2 |
$PATH=/path/to/folder export $PATH |
но это не совсем то, чего бы хотелось. Вместо этого лучше в корневую директорию положить файлик .bashrc
(если у вас bash) с таким содержимым:
1 |
export PATH="${PATH}":/home/safoyeth/bin |
Естественно вместо /home/safoyeth/bin
вы должны написать свой путь. Теперь нужно просто выполнить
1 |
source .bashrc |
и rmate будет доступен откуда угодно в пределах файловой системы.
Заключительный шаг — настройка ssh-клиента. Для всех нормальных людей с Linux/OS X/FreeBSD и прочими вкусняшками (шутка) на борту — это делается путём создания в ~/.ssh
файла config
с таким содержимым
1 2 3 |
Host myhost Hostname <ip-адрес удалённого сервера> RemoteForward 52698 127.0.0.1:52698 |
и последующим выполнением в консоли команды типа ssh myhost
. Для пользователей Putty же каждый раз (! — я во всяком случае не смог найти где можно сохранить настройки) нужно будет делать следующее: Клик правой кнопкой по заголовку окна Putty с активным соединением -> Change Settings… -> В открывшемся окне слева выбрать SSH -> Tunnels в поле Source port написать 52698, в Destination — 127.0.0.1:52698, изменить переключатель на Remote, нажать Add, затем Apply. Профит!
Пользоваться этим чудом можно и нужно так:
- Открываем Sublime Text
- Соединяемся с сервером
- Проводим манипуляции с Putty если нужно
- Чтобы открыть файл пишем
rmate path/to/file
Мне особенно нравится, что так можно работать с множеством файлов одновременно. Инструкция писалась на основании этой статьи с Хабра и собственных ковыряний. Надеюсь, кому-то ещё она будет полезна! Всем стабильных серверов! 🙂
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: