sshfs получает mount[5889]: read: Connection reset by peer, когда запускается из systemd, но работает вручную.

Вопрос или проблема

Я не могу понять, как включить более подробное логирование для файла .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

Важные аспекты:

  1. Параметры аутентификации: Вы используете IdentityFile для указания файла ключа. Убедитесь, что этот файл доступен для пользователя, под которым запускается сервис systemd (в вашем случае, вероятно, pi). Проверьте разрешения на файл .ssh/id_rsa. Он должен иметь права 600:

    chmod 600 /home/pi/.ssh/id_rsa
  2. Параметры mount: Возможно, стоит убрать параметр user из опций монтирования, так как он может вызывать проблемы при работе с systemd, который обычно работает с привилегиями root.

  3. Network Availability: Опция _netdev указывает systemd, что монтирование зависит от сетевого соединения. Убедитесь, что сеть доступна до момента, когда systemd пытается произвести монтирование.

  4. Перезапуск 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) недоступен или устанавливает ограничения на количество подключений. Проверьте:

  1. Настройки SSH: Убедитесь, что на сервере разрешены подключения для вашего пользователя, и он не превышает лимиты подключений.

  2. Сетевые проблемы: Убедитесь, что нет блокировки между клиентом и сервером (например, брандмауэры или настройки NAT).

Заключение

Следуя приведённым выше рекомендациям, вы сможете устранить ошибку монтирования SSHFS через systemd. Проверьте разрешения на файл ключа, сетевую доступность и сами параметры монтирования. Если все ещё возникают проблемы, активируйте детализированное логирование и внимательно изучите журналы systemd. Удачи в разрешении этой задачи!

Оцените материал
Добавить комментарий

Капча загружается...