Фон

Фон

Я сменил свою операционную систему с Windows на Fedora несколько дней назад. Так что я действительно новичок во всем, что касается Linux.

Моя основная цель — добавить удаленный диск (мой облачный диск) при запуске, чтобы я мог его использовать. Я попытался создать скрипт bash, который будет выполняться при запуске с помощью sftp. Я нашел следующий код

sshfs [email protected]:/targetpath ~/mountdir

Моя проблема в том, чтоэто работает с правами root, но не работает с правами моего пользователя. Выполняя с моими обычными привилегиями, я получаю ошибку read: Connection reset by peer. Поскольку я хочу выполнить это при запуске, я не хочу использовать права root.

Я также искал решение, позволяющее сохранить мое имя пользователя и пароль, но пока не нашел ничего, что позволило бы мне не вводить их каждый раз.


Фон

Фстаб: Я много гуглил, что привело меня к fstabфайлу в первую очередь. Я потратил целый день и в итоге сломал систему, потому что при запуске системы не было интернет-соединения, поэтому целевой диск не мог быть включен (по крайней мере, я думаю, что это то, что происходило).

Скрипт (WebDAV, sftp): Затем я попытался использовать WebDAV с

mount -t davfs2 https://webdav.example.com ~/mountdir

но это также работает только с правами root (Ошибка: mount: only "root" can do that). Моим следующим шагом было использование sftp, который, кажется, работает лучше. Но затем я получил ошибку, упомянутую выше (Ошибка: read: Connection reset by peer).

Я не хочу хранить файлы локально, так как на диске недостаточно места.

Извините, если это глупый или очень простой вопрос, но я не вижу, как продолжить. Спасибо за помощь.

решение1

Никогда не запускайте скрипт как root! Я могу придумать несколько причин, когда запускать скрипт как root, но в целом это не очень хорошая идея. sshfsТакже для работы не нужен root! :)

Это должно позволить вам смонтировать удаленную файловую систему SSH с паролем, используя sshfs(было бы лучше, если бы вы могли использовать сертификат вместо пароля).

echo <mypassword> | sshfs <myuser>@<site.tld>:/ ~/<myfolder> -o workaround=rename -o password_stdin

Заменить <mypassword>, <myuser>, <site.tld>и <myfolder>.

Пример:

echo 4ghNZGpk182q8SvY0kw0 | sshfs [email protected]:/ ~/diblo -o workaround=rename -o password_stdin

ПРИМЕЧАНИЕ:Убедитесь, что папка монтирования ~/<myfolder>существует, или создайте ее (не забудьте создать папку от имени пользователя Linux, от имени которого вы хотите запустить скрипт):

mkdir -p ~/<myfolder>

Заменять <myfolder>.

https://www.darklaunch.com/how-to-remote-mount-with-password-using-sshfs-and-stdin-ubuntu-sshfs-remote-mounting-mosso

Связанный контент