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 начал отображать содержимое.

Другие вопросы по тегам