Кто-нибудь знает эквивалент ssh -i для sshfs? Я хочу использовать sshfs без запроса пароля
Лучшим решением было бы ssh-agent
как предлагает Зоредак.
Другой - вставить ключ ~/.ssh/id_rsa
, таким образом он будет обнаружен автоматически. (Используйте id_dsa
для ключей DSA.)
Еще один ~/.ssh/config
. Поместите в него что-то вроде этого (см. Страницу руководства ssh_config
для получения дополнительной информации)
Host somebox.somedomain.tld User joe IdentityFile ~/key_for_somebox Host * IdentityFile ~/key_for_everything_else
Настройте свою систему для использования Агент SSH и добавьте свой ключ к агенту. Если вы используете последний дистрибутив Linux (например, Ubuntu и другие), возможно, ssh-agent уже настроен для вас. Все что вам нужно сделать ssh-add key
.
Другой ответ sshfs -o IdentityFile=/home/me/.ssh/somekey.pem user@host:/path/ mnt/
Кроме того, вы увидите, что люди перечисляют другие способы вызова sshfs:
sshfs -o ssh_command="ssh -i /home/me/.ssh/somekey.pem" user@host:/path/ mnt/
Хотя я соглашусь, что ~/.ssh/config
это путь.
Не совсем то, что вы просили, но для пользы всех, кто пытается подключиться к серверу, который не поддерживает аутентификацию по ключу, вы можете использовать sshpass
для ввода пароля даже с sshfs
.
Например, если вы поместите что-то подобное в /etc/fstab
:
sshfs#username@host:/ /mnt/here fuse auto,ssh_command=sshpass\040-f\040/root/.ssh/host.password\040ssh 0 0
Затем введите пароль в имя файла, указанное в /etc/fstab
:
echo 'secret' > /root/.ssh/host.password
Убедитесь, что вы установили sshpass
:
pacman -S sshpass # if you're using Arch Linux
Тогда должно работать:
mount /mnt/here
Вам может понадобиться ssh
к серверу один раз сначала, чтобы подтвердить его ключ, но после этого это должно работать без ручного вмешательства.