Используйте sshfs с ssh-agent и / или kwallet
Я использую sshfs с парой ключей, защищенных паролем, для монтирования удаленной папки с помощью сценария оболочки. Я также использую SSH в этом сценарии.
Каждый раз, когда я запускаю скрипт оболочки, я получаю запрос пароля в командной строке для каждого отдельного вызова sshfs. Я должен предотвратить это.
Есть ли способ использовать sshfs с ssh-agent и / или kwallet (как я делаю для ssh)? Или я могу повторно использовать существующее соединение ssh с sshfs?
2 ответа
Вы начинаете sshfs
из вашей оболочки или из скрипта при загрузке?
Если вы запускаете его из своей оболочки, и если у вас есть работающий ssh-agent, он должен просто работать:
$ ssh-add -l
2048 SHA256:XXXXX /home/ji/.ssh/id_rsa (RSA)
$ echo success > foo
$ scp foo ins:
...
$ rm foo
$ mkdir /tmp/j
$ sshfs ins: /tmp/j
$ cat /tmp/j/foo
success
Если вы запускаете его из местоположения, в котором еще нет SSH_AUTH_SOCK в его среде, и предполагается, что ssh-agent уже активен и имеет ключ, вы можете просто установить SSH_AUTH_SOCK на правильное значение, которое вы можете либо получить, запустив ps uxeww | grep SSH_AUTH_SOCK
и массируя вывод, или просто глядя на то, что /tmp/ssh-*/*
сокет вы можете получить доступ и использовать это! Я предполагаю, что вы можете написать простой скрипт для этого!
- Раскомментировать (или добавить строку)
user_allow_other
в /etc/fuse.conf - Запустите монтирование без sudo
sshfs работает на переднем плане, что меня устраивает. Не хочу оставлять вокруг удаленные крепления и иметь потенциальную аварию в системах Prod.