web-dev-qa-db-fra.com

Impossible de se connecter: la mise à niveau vers Ubuntu 16.04 a invalidé mes clés ssh publiques, est passée à PasswordAuthentication no et maintenant je ne peux plus revenir

J'ai mis à niveau mon serveur distant vers Ubuntu 16.04 (à partir de 14.10).

Ensuite, je l'ai reconfiguré pour n'utiliser que des clés et non des mots de passe. Je l'ai fait en modifiant le fichier /etc/ssh/sshd_config dans lequel j'ai changé comme suit:

PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no

Rechargez ensuite le service shh avec: systemctl reload sshd

Le problème est que toutes les clés ssh publiques dans le fichier ~/.ssh/registered_keys semblent être non valides pour une raison quelconque.

Alors maintenant, je ne peux plus me connecter. Je ne reçois que la permission refusée (publickey). J'ai essayé de nombreuses options -o pour forcer une invite de mot de passe sans succès. Tout ce dont j'ai besoin, c'est de pouvoir me connecter avec un mot de passe.

Toute aide est très appréciée.

2
Andreas

Si vous ne pouvez pas démarrer dans un shell racine, vous êtes un peu désossé. J'ai déjà vu cela se produire lorsque des personnes ont oublié de modifier l'accès au fichier de clés. La méthode recommandée est d'essayer d'utiliser la clé avant désactiver l'authentification par mot de passe.

S'il s'agit d'une instance dans un nuage, appelez votre fournisseur et demandez-lui de réinitialiser le mot de passe (qui peut ne pas être gratuit ni même offert).

Si c'est une boîte réelle et que vous avez quelqu'un à proximité, appelez-les et achetez-les avec une pizza.

Sinon, vous devez monter dans votre voiture.

Lorsque vous arrivez sur votre ordinateur, appuyez sur la touche F de magie qui vous amène au menu de démarrage, puis sélectionnez "shell racine". Montez le système de fichiers en écriture. Editez ensuite le fichier de configuration à son point de départ et réessayez.

En outre, je fais normalement cela alors que je suis assis devant la boîte pour cette raison exacte. Dans un cas VPS, je pratique d'abord la méthode sur une boîte locale pour m'assurer que tout est correct.

2
Ron Thompson

Ubuntu 16.04 a désactivé les clés DSA et n'accepte plus que les clés RSA. Cela m'a aussi touché, mais heureusement, l'accès par mot de passe était toujours activé.

Vous pouvez ajouter

Host *
PubkeyAcceptedKeyTypes=+ssh-dss

sur ~/.ssh/config, ou passez aux touches rsa. Une fois que vous entrez ...

1
Bruce Hoult