Вам нужно указать маркер EOF
, например << \ EOF
или << 'EOF'
, чтобы остановить
ваш ] $ filename
переменная от оценки перед передачей на удаленный компьютер. Вы можете увидеть эффект, скажем, / bin / bash -v
вместо / bin / bash
.
Мне также нужно было иметь фактический маркер EOF
на отдельной строке, с заключительным )
на следующей строке.
Я знаю, что это действительно старый пост, но я только что настроил sshfs и столкнулся с похожей проблемой. Для меня решением было сгенерировать ключ rsa без пароля, потому что при автоматическом монтировании с помощью systemd automount вам не будет предложено ввести пароль для файла идентификации.
Инструкции сбивают с толку, особенно для тех, кто не понимает systemd.
Правильная процедура:
добавить к/etc/fstab
:username@hostname:/ /mnt/remotes/hostname fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/stanley/.ssh/my_rsa_key,allow_other,reconnect 0 0
запустить sudo systemctl daemon-reload
. Это создает системный «файл модуля».
узнать, какой юнит файл, запустив systemctl list-unit-files --type automount
. Для меня это было mnt-remotes-hostname.automount
.
включить:sudo systemctl restart mnt-remotes-hostname.automount
.
cd /mnt/remotes/hostname
или ls /mnt/remotes/hostname
, и он автоматически создаст соединение sftp!
Это работает, но я пока не уверен:
allow_other
представляет собой угрозу безопасности, мне нужно разобраться с этим Если кто-то может пролить свет на это, пожалуйста.
ОБНОВЛЕНИЕ Согласно ответу @sourcejedis, остановка монтирования должна выполняться в следующем порядке :systemctl stop whatever.mount && systemctl stop whatever.automount
, и НЕ следует использовать umount mounpoint
!