Вопрос или проблема
У меня есть два Linux-компьютера
Linux 1
Linux 2
Я монтирую директорию на Linux2 к Linux 1 следующим образом:
sudo sshfs -o allow_other [email protected]:/usr/XXXXX/bin /opt/Project/MountHere/
Это работает, но это не постоянно, и каждый раз, когда я выполняю это, запрашивается пароль.
Что мне нужно сделать, чтобы создать постоянный монтирование без запроса пароля?
Как я могу это сделать?
Я пробовал следующее в
/etc/fstab
но после перезагрузки смонтированная директория остается пустой
sshfs#[email protected]:/usr/XXXXX/bin /opt/Project/MountHere/ fuse.sshfs defaults 0 0
Arch Linux имеет хорошую инструкцию: SSHFS. Вам нужно убедиться, что root может подключаться к другой системе без пароля (т.е. используя ключи и файл идентификации).
Ответ или решение
Постоянное монтирование SSHFS без запроса пароля
Введение
При использовании sshfs
для монтирования удалённых директорий в Linux, часто возникает необходимость сделать это монтирование постоянным и избежать постоянных запросов пароля. В данной статье мы рассмотрим, как настроить постоянное монтирование SSHFS с использованием ключей SSH для аутентификации без пароля.
Шаги по решению проблемы
-
Создание ключа SSH
Для начала необходимо создать пару ключей SSH, если это ещё не сделано. Выполните следующую команду на Linux 1:
ssh-keygen -t rsa -b 2048
При выполнении этой команды вам будет предложено ввести путь для сохранения ключа (по умолчанию будет использован
~/.ssh/id_rsa
) и фразу-пароль (можно оставить пустой для отсутствия пароля). -
Копирование публичного ключа на Linux 2
После создания ключа, необходимо скопировать публичный ключ на Linux 2. Используйте следующую команду:
ssh-copy-id [email protected]
Это добавит ваш публичный ключ в файл
~/.ssh/authorized_keys
на Linux 2, позволяя аутентификацию без пароля. -
Проверка подключения
Убедитесь, что вы можете подключаться к Linux 2 без запроса пароля, выполнив:
ssh [email protected]
Если вы войдёте в систему без запроса пароля, значит, настройка ключей выполнена корректно.
-
Настройка SSHFS для автоматического монтирования
Теперь, когда аутентификация настроена, нужно настроить
sshfs
для постоянного монтирования. Для этого необходимо добавить запись в файл/etc/fstab
.Откройте файл для редактирования:
sudo nano /etc/fstab
Добавьте строку следующего вида:
sshfs#[email protected]:/usr/XXXXX/bin /opt/Project/MountHere fuse.sshfs uid=1000,gid=1000,allow_other,reconnect,IdentityFile=/home/your_username/.ssh/id_rsa 0 0
Замените
your_username
на ваше имя пользователя. ПараметрIdentityFile
указывает на собственный приватный ключ, который используется для аутентификации. -
Монтирование
Чтобы протестировать конфигурацию, выполните:
sudo mount -a
Если всё выполнено корректно, удалённая директория будет смонтирована в указанное место, и вам не потребуется вводить пароль.
Заключение
Теперь вы имеете полноценное решение для постоянного монтирования SSHFS без запроса пароля. Убедитесь, что права доступа к файлу с приватным ключом установлены корректно:
chmod 600 /home/your_username/.ssh/id_rsa
Это предотвратит доступ к вашему приватному ключу другими пользователями и обеспечит безопасность. Если возникнут дополнительные вопросы или проблемы, рекомендуется проверять логи и выставленные права доступа как на локальной, так и на удалённой машине.