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 в первой строке файла с разрывом строки. У меня нет возможности сохранить ключ для входа в систему без пароля, мне нужно передать пароль с помощью команды 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 в первой строке файла с разрывом строки. У меня нет возможности сохранить ключ для входа в систему без пароля, мне нужно передать пароль с помощью команды 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, как я сказал выше.

И последний файл содержит пароль пользователя ssh root в первой строке файла с разрывом строки. 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, как я сказал выше.

И последний файл содержит пароль пользователя ssh root в первой строке файла с разрывом строки. 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, как я сказал выше.

И последний файл содержит пароль пользователя ssh root в первой строке файла с разрывом строки. /etc/ssh/sshpass.10 т.е.:

password

Я не могу показать здесь разрыв строки, хотя и, конечно же, это не тот пароль, который я использую.

Проблема:

Когда я пытаюсь перейти по пути, что было настроено в этих файлах, я могу получить: / mnt / 10 и там появится корневая папка. Я пытаюсь зайти внутрь, получаю сообщение об ошибке:

Can't access '/mnt/10/fsshroot/': No such file or directory
1
задан 28 March 2018 в 05:38
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 / корень начал отображать содержимое.

1
ответ дан 3 December 2019 в 23:18

Теги

Похожие вопросы