Монтирование удаленной папки с помощью sshfs
Недавно возникла необходимость использовать удаленный сервер, чтобы удаленно работать там с проектами из svn. Доступ к серверу, только через ssh. Конечно работать с svn можно прям на удаленной машине, но вот с файлами мне проще работать на своей машине. Поэтому я и решил подключить себе нужную папку с удаленного сервера, как примонтированный диск, чтобы проводимые мною изменения сразу писались удаленно на сервер, без лишних, в дальнейшем, телодвижений.
Так как у меня, есть только подключение через ssh, поэтому для монтирования удаленной папки я использовал файловую системуSSHFS (Secure SHell FileSystem).
Установка и использование1. Устанавливаем sshfs:
2. Теперь монтируем удаленную папку (примерно так):
где
user - имя пользователя на удаленном сервере;
remote.host - адрес удаленного сервера;
/somedir - папка на удаленном сервере, которая будет монтироваться;
/somemydir - папка на вашем компьютере, куда будет монтироваться удаленная папка;
-o uid=1000,gid=1000 - различные параметры монтирования (подробнее смотрите в man).
Понятное дело, все приведенные выше значения вы меняете под себя.
3. Отмонтируется все это дело, следующей командой
4. Добавляем автомонтирование при загрузке системы через /etc/fstab. Для этого редактируем его:
и добавляем туда строку (пример):
Монтирование, если просит пароль
1. В большинстве случаев, автомонтирование не прокатит, так как запрашивается пароль при монтировании, а такие опции, какpassword и credentials для sshfs - не катят. поэтому есть, как минимум, два варианта это поправить.
1.1. Первый - это использование RSA или DSA ключей для ssh соединения.
1.2. Второй - просто не парится всякими fstab, а просто добавить в автозагрузку 'Система'->'Параметры'->'Сеансы' запуск следующей команды
где
password - тот самый пароль для удаленного сервера;
password_stdin - опция которая принимает пароль передаваемый, в данном случае, через echo.
Конечно, в этом случае пароль передается в открытом виде, но никто не мешает запихнуть эту команду в скрипт, которому присвоить нужные права, а потом этот скрипт добавить в автозагрузку.
Проблема при монтировании. И ее решение.
1. Бывает, что при монтировании выскакивает ошибка
в этом случае надо послать на адрес, к которому коннектимся, какой-нить текст
в ответ вы получите сообщение, из которого вас интересуют строки похожие на эти:
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:2
нас интересует именно последняя цифра, это номер строки, которую нам надо удалить, в данном случае - 2.
2. Удаляем в файле known_hosts найденную строку:
3. Снова отправляем на адрес, к которому коннектимся, строку
только в этот раз - появится предложение на ввод пароля для добавления ключа этого адреса в ваш список.
Все теперь ошибка не должна появляться снова.
Проблема: sshfs и svn. И ее решение.
1. При работе с sshfs столкнулся с такой проблемой, что когда пытаешься работать с svn на примонтированной папке, например делать checkout, то получаешь следующую ошибку:
2. Лечится это, добавлением опции workaround=rename при монтировании. Пример: