Вопрос или проблема
Я не могу понять, как включить более подробное логирование для файла .mount системы systemd, но вот мой файл mnt-kreijstal.mount и он содержит:
# файл находится по пути `/etc/systemd/system/mnt-kreijstal.mount`
[Unit]
Description=Монтировать kreijstal через скрипт SSHFS
[Install]
WantedBy=multi-user.target
[Mount]
What=kreijstal@kreijstalnuc:/
Where=/mnt/kreijstal
Type=fuse.sshfs
Options=_netdev,allow_other,IdentityFile=/home/pi/.ssh/id_rsa,reconnect,x-systemd.automount,uid=1000,gid=1000,user
Когда я выполняю sudo systemctl daemon-reload &&sudo systemctl start mnt-kreijstal.mount
и проверяю логи
Nov 28 23:05:49 juanraspberry mount[5889]: read: Connection reset by peer
, это не работает, к сожалению, я не могу понять, как получить более подробную ошибку. Команда sshfs работает прекрасно, однако.
Ответ или решение
Когда вы сталкиваетесь с ошибкой mount[5889]: read: Connection reset by peer
при попытке монтирования SSHFS через systemd, несмотря на то что команда работает в ручном режиме, это указывает на несколько возможных проблем, которые могут мешать корректному выполнению. Давайте рассмотрим детали вашей конфигурации и предложим шаги для устранения проблемы.
Анализ конфигурации .mount файла
Ваш файл /etc/systemd/system/mnt-kreijstal.mount
выглядит следующим образом:
[Unit]
Description=Mount kreijstal via SSHFS script
[Install]
WantedBy=multi-user.target
[Mount]
What=kreijstal@kreijstalnuc:/
Where=/mnt/kreijstal
Type=fuse.sshfs
Options=_netdev,allow_other,IdentityFile=/home/pi/.ssh/id_rsa,reconnect,x-systemd.automount,uid=1000,gid=1000,user
Важные аспекты:
-
Параметры аутентификации: Вы используете
IdentityFile
для указания файла ключа. Убедитесь, что этот файл доступен для пользователя, под которым запускается сервис systemd (в вашем случае, вероятно,pi
). Проверьте разрешения на файл.ssh/id_rsa
. Он должен иметь права 600:chmod 600 /home/pi/.ssh/id_rsa
-
Параметры mount: Возможно, стоит убрать параметр
user
из опций монтирования, так как он может вызывать проблемы при работе с systemd, который обычно работает с привилегиями root. -
Network Availability: Опция
_netdev
указывает systemd, что монтирование зависит от сетевого соединения. Убедитесь, что сеть доступна до момента, когда systemd пытается произвести монтирование. -
Перезапуск systemd: После внесения изменений в конфигурацию убедитесь, что вы знали перезапустить демона systemd с помощью:
sudo systemctl daemon-reload
Логи и отладка
Для того чтобы получить более подробную информацию о происходящем, вы можете активировать уровень отладки для unit, добавив флаг -D
:
sudo systemctl start mnt-kreijstal.mount -D
Также проверьте журналы с помощью:
journalctl -u mnt-kreijstal.mount -b
Это выведет историю событий, связанных с вашим unit-файлом.
Проблемы с Network и SSH
Проблема Connection reset by peer
может также заключаться в том, что сервер SSH (kreijstalnuc) недоступен или устанавливает ограничения на количество подключений. Проверьте:
-
Настройки SSH: Убедитесь, что на сервере разрешены подключения для вашего пользователя, и он не превышает лимиты подключений.
-
Сетевые проблемы: Убедитесь, что нет блокировки между клиентом и сервером (например, брандмауэры или настройки NAT).
Заключение
Следуя приведённым выше рекомендациям, вы сможете устранить ошибку монтирования SSHFS через systemd. Проверьте разрешения на файл ключа, сетевую доступность и сами параметры монтирования. Если все ещё возникают проблемы, активируйте детализированное логирование и внимательно изучите журналы systemd. Удачи в разрешении этой задачи!