3 votes

autofs ne peut pas monter un répertoire distant avec sshfs sur l'hôte avec un algorithme de clé déprécié

Voici ma configuration :

/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

Comme le périphérique distant est une appliance et qu'il n'a pas la possibilité d'enregistrer une clé pour se connecter sans mot de passe, je dois transmettre un mot de passe avec une commande sshpass. Pour cela, j'ai utilisé un paramètre ssh_command=.

/etc/ssh/sshpass.10.sh

#!/bin/bash

sshpass -f /etc/ssh/sshpass.10 ssh -o HostKeyAlgorithms=ssh-dss $*

J'ai dû utiliser -o HostKeyAlgorithms=ssh-dss dans la configuration de ma commande ssh, car cette appliance possède un vieux serveur openssh. L'appareil est hors production et ne fait plus de mises à jour. Lorsque j'y accède par ssh depuis mon ordinateur mis à jour, il se plaint de l'absence d'algorithmes correspondants :

Unable to negotiate with 10.28.0.10 port 22: no matching host key type found. Their offer: ssh-dss

Donc, avec un ssh normal, je dois faire :

 ssh -o HostKeyAlgorithms=ssh-dss root@10.28.0.10

Donc, j'ai fait dans /etc/ssh/sshpass.10.sh le fichier de configuration de ssh, comme je l'ai indiqué ci-dessus.

Et le dernier fichier, contient un mot de passe ssh root sur la première ligne d'un fichier avec un saut de ligne. /etc/ssh/sshpass.10 c'est à dire :

password

Je ne suis pas en mesure d'afficher un retour à la ligne ici, et bien sûr, ce n'est pas le mot de passe que j'utilise.

Le problème :

Lorsque j'essaie d'aller sur le chemin qui a été configuré dans ces fichiers, je peux y arriver : /mnt/10 et le dossier racine y apparaît. Si j'essaie d'aller à l'intérieur de celui-ci, j'obtiens une erreur :

Can't access '/mnt/10/fsshroot/': No such file or directory

3voto

Guillermo Gonzalez Points 41

OK, j'ai compris. J'ai essayé d'exécuter directement :

sudo sshfs root@10.28.0.10:/root /tmp/10/ -o reconnect,allow_other,follow_symlinks,ssh_command='ssh HostKeyAlgorithms=ssh-dss'

et ça m'a donné une erreur :

read: Connection reset by peer

Donc, ça n'a pas marché. J'ai commencé à chercher un moyen de le réparer et j'ai découvert que, pour le faire, je dois configurer 2 lignes dans : /etc/ssh/ssh_config

Host 10.28.0.10
    HostKeyAlgorithms=+ssh-dss

Ensuite, j'ai enlevé :

 -o HostKeyAlgorithms=ssh-dss

de : /etc/ssh/sshpass.10.sh pour que ce soit comme ça :

#!/bin/bash

sshpass -f /etc/ssh/sshpass.10 ssh $*

Puis, après avoir redémarré le service autofs, il a commencé à fonctionner. Mon /mnt/10/root a commencé à afficher le contenu.

2 votes

Merci d'avoir indiqué comment vous avez fini par résoudre ce problème. Un étranger en ligne vous en est vraiment reconnaissant.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X