autofs не может смонтировать удаленный каталог с sshfs на хосте с устаревшим алгоритмом ключа
Вот моя конфигурация:
/etc/auto.master
/mnt/10 /etc/auto.10 uid=0,gid=0,--ghost
/etc/auto.10
root -fstype=fuse,allow_other,follow_symlinks,ssh_command=/etc/ssh/sshpass.10.sh :sshfs\#root@10.28.0.10\:/root
Поскольку удаленное устройство является устройством и не имеет возможности сохранить ключ для входа без пароля, я должен передать пароль с помощью команды sshpass. Для этого я использовал параметр ssh_command=
/etc/ssh/sshpass.10.sh
#!/bin/bash
sshpass -f /etc/ssh/sshpass.10 ssh -o HostKeyAlgorithms=ssh-dss $*
Мне пришлось использовать -o HostKeyAlgorithms=ssh-dss в моей конфигурации команды ssh, потому что это устройство имеет старый сервер openssh. Устройство снято с производства и больше не обновляется. Когда я ssh к нему с моего обновленного компьютера, он жалуется на отсутствие подходящих алгоритмов:
Unable to negotiate with 10.28.0.10 port 22: no matching host key type found. Their offer: ssh-dss
Итак, с обычным SSH, я должен сделать:
ssh -o HostKeyAlgorithms=ssh-dss root@10.28.0.10
Итак, я сделал в /etc/ssh/sshpass.10.sh установочный файл ssh, как я уже говорил выше.
И последний файл содержит пароль root ssh в первой строке файла с разрывом строки. /etc/ssh/sshpass.10 т.е.
password
Я не могу показать разрыв строки здесь, хотя и, конечно, это не тот пароль, который я использую.
Эта проблема:
Когда я пытаюсь перейти к пути, который был настроен в этих файлах, я могу получить: /mnt/10 и там появляется корневая папка. Я пытаюсь зайти внутрь, я получаю сообщение об ошибке:
Can't access '/mnt/10/fsshroot/': No such file or directory
1 ответ
Хорошо, я понял это. Я пытался напрямую запустить:
sudo sshfs root@10.28.0.10:/root /tmp/10/ -o reconnect,allow_other,follow_symlinks,ssh_command='ssh HostKeyAlgorithms=ssh-dss'
и это дало мне ошибку:
read: Connection reset by peer
Так что это не сработало. Я начал искать способ исправить это и обнаружил, что для этого мне нужно настроить 2 строки в: /etc/ssh/ssh_config
Host 10.28.0.10
HostKeyAlgorithms=+ssh-dss
Затем я удалил:
-o HostKeyAlgorithms=ssh-dss
из: /etc/ssh/sshpass.10.sh, чтобы сделать это так:
#!/bin/bash
sshpass -f /etc/ssh/sshpass.10 ssh $*
Затем, после перезапуска службы autofs, он начал работать. Мой /mnt/10/root начал отображать содержимое.