web-dev-qa-db-fra.com

Désactiver temporairement l'authentification par clé publique ssh du client

Existe-t-il un moyen de désactiver temporairement l'authentification par clé publique lors de ssh'ing et d'utiliser l'authentification par mot de passe à la place?

Je souhaite actuellement accéder au serveur distant, mais j'utilise un autre ordinateur portable, pas le mien.

En parcourant cette lien , j'ai trouvé que la commande ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no Host1.example.org ne fonctionne pas partout. Et oui, ça ne marche pas pour moi. J'utilise: OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 mars 2012

Edit: j'ai aussi essayé de taper ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no mais ont toujours "Autorisation refusée (publickey)".

Alors, y a-t-il une configuration spécifique à faire sur le serveur distant pour que cette commande fonctionne? Ou, quand cette commande fonctionnera comme prévu?

Merci beaucoup pour les conseils.

40
Nsukami _

Cela ressemble à un problème de configuration côté serveur.

Si le serveur autorise à la fois l'authentification par clé publique et mot de passe, même si vous essayez de vous connecter sans fichier de clé privée présent sur le client, il devrait vous demander un mot de passe.

Si vous obtenez le message d'erreur "Permission denied (publickey)", il semble que l'authentification par mot de passe ne soit pas prise en charge sur votre serveur.

Sans voir le fichier/etc/sshd_config, il est difficile de le savoir, mais je suppose que vous devez vous assurer que la ligne suivante existe:

PasswordAuthentication yes

Redémarrez le serveur ssh et lorsque vous vous connectez à partir du client, vous devez être invité à entrer un mot de passe s'il n'y a pas de clé privée présente ou si la clé privée ne correspond pas à la clé publique sur le serveur.

Une alternative plus sûre à cela serait bien sûr de copier votre clé privée sur l'ordinateur portable que vous utilisez, ou en fait de générer une nouvelle clé privée à utiliser sur cet ordinateur portable et d'ajouter la clé publique à .ssh/authorized_keys

8
v25

Créez simplement un fichier ID vierge.

touch $HOME/.ssh/blank

Si vous laissez l'autorisation 640 ou 644, ssh se plaindra que les autorisations ne sont pas suffisamment sécurisées et ne l'utilisera pas. Si vous le modifiez à 600, il demandera un mot de passe 3 fois et échouera car il n'y a pas de mot de passe. Il suffit donc de laisser 640 ou 644.

Ensuite, lorsque vous utilisez ssh cette commande.

ssh -i $HOME/.ssh/blank servername-or-ip

Vous pouvez utiliser .ssh/config et définir une entrée Host pour ne pas utiliser la clé mais elle est moins temporaire ou vous pouvez créer des alias pour server et server-nokey mais cela devient long et est difficile à maintenir.

7
shane

Si vous souhaitez contourner l'authentification par clé lors de la connexion au serveur, exécutez simplement:

ssh -o PubkeyAuthentication=no user@Host
5
Mikhail Zakharov