Я пытаюсь разрешить моему ноутбуку (Ubuntu 13.04) доступ к жесткому диску моего ПК (Lubuntu 13.04) через SSHFS. Я использую ключи RSA для подключения.
Это прекрасно работает, если я наберу это в терминале:
sshfs my-PC:/a_folder /media/a_folder
Но я бы хотел, чтобы он устанавливался автоматически при загрузке моего ноутбука. Итак, я добавил себя в группу предохранителей:
sudo adduser mynickname fuse
И я добавил следующую строку в мой файл fstab:
sshfs#mynickname@my-PC:/a_folder /media/a_folder fuse defaults,idmap=user,_netdev 0 0
Когда я загружаю ноутбук, a_folder появляется в списке устройств, но не монтируется. Когда я пытаюсь получить к нему доступ через Nautilus, отображается следующая ошибка:
mount: only root can mount sshfs#mynickname@my-PC:/a_folder on /media/a_folder
Я получаю ту же ошибку, если я пытаюсь
mount /media/a_folder
в терминале.
Если я попробую
sudo mount /media/a_folder
я получил
read: Connection reset by peer
Я попытался добавить «allow_other» в качестве опции в запись fstab и раскомментировал соответствующую строку в /etc/fuse.conf, но это ничего не изменило.
Пользователь «mynickname» является владельцем папки / media / a_folder и имеет права доступа rwx.
Я просматривал множество тем в Интернете о людях с довольно похожими проблемами, но пока ничего не получалось. Обычно люди не могут даже сделать
sshfs my-PC:/a_folder /media/a_folder
без получения ошибки, тогда как на моем ноутбуке это работает нормально.
Любое понимание и советы будут с благодарностью! Спасибо.
РЕДАКТИРОВАТЬ: Я решил эту проблему некоторое время назад, но я забыл обновить этот пост. Так вот, что находится в моем fstab:
sshfs#mynickname@my-PC:/a_folder /media/a_folder fuse noauto,_netdev,idmap=user,user,default_permissions 0 0
Ключевой вариант для добавления был default_permissions, если я помню. Мне пришлось добавить мой ник в группу, к которой принадлежит / a_folder / на моем ПК.
sudo
если все настроено правильно для монтирования FUSE. Кроме того, настройки uid / gid должны влиять только на то, какой пользователь имеет права на файлы в вашей системе.Чтобы получить реальный отладочный вывод, вам нужно добавить оба
sshfs_debug
иdebug
параметры для монтирования:При этом вы получите много отладочной информации, которая поможет вам:
В моем случае я обнаружил, что мой компьютер был указан только в списке
.ssh/config
, поэтому он не был разрешен для root.И кстати, вам нужно установить uid и gid, так как,
idmap=user
кажется, работает только для текущего пользователя, который в данном случае является root.источник
Эта проблема также может возникнуть при изменении ключа хоста ssh.
Попробуйте подключиться к серверу через ssh (например
ssh username@hostIP
). Если появляется следующая ошибка:Следуйте инструкциям в сообщении об ошибке, чтобы удалить старый ключ, и повторите попытку подключения через ssh. Если ошибка больше не появляется, соединение sshfs должно работать.
источник
known_hosts
Файл пользователя может отличаться отknown_hosts
файла root .Полное раскрытие: выродок старой школы, но совершенно новый бренд в мире linux / open source
Прежде всего, я все еще использую аутентификацию по паролю, потому что я еще не достаточно разбираюсь в ключах RSA. Это приближается к вершине списка, хотя.
Соответствующая информация о настройке: Использование MacBook Pro с установленным VMWare Fusion, на котором у меня установлен сервер Ubuntu 10.04 LTS. Полагаясь на терминал Mac и SSH для почти всего моего взаимодействия с сервером
После неудачной установки Drupal я откатился до предыдущего снимка и внезапно не смог выполнить команду, которую только что использовал ранее:
sshfs -o idmap=user -o allow_other user@mac.home:/Users/<username>/Documents ~/mountpoint
Проблема в том, что ключи вышли из синхронизации. Я не знаю, нужно ли мне это делать на моем хосте и на сервере, но я очистил все локальные ключи каждого из них, сначала сделав резервную копию файла known_hosts, а затем отредактировав файл known_hosts, чтобы удалить записи ,
На Mac этот файл находится по адресу:
/Users/<username>/.ssh/known_hosts
В Ubuntu этот файл находится по адресу:
/home/<username>/.ssh/known_hosts
Итак, подведем итог, все выполнено с моего терминала Mac, после запуска сервера Ubuntu:
После первого SSH в каждой системе SSH предлагает мне разрешить добавление ключей RSA, и все работает после этого.
источник