Comment arrêter l'invite de phrase secrète SSH? [fermé]

10

J'ai un serveur que je viens d'ouvrir. Quand je ssh as nt_deployer, il me demande une phrase de passe ssh:

Nets-Mac-Pro:mysite emai$ ssh [email protected]
Enter passphrase for key '/Users/emai/.ssh/id_rsa': 
[email protected]'s password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

Cependant, quand je ssh as emai, il ne demande pas:

Nets-Mac-Pro:mysite emai$ ssh [email protected]
[email protected]'s password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

Quelqu'un peut-il me dire comment je pourrais empêcher l'invite de phrase secrète d'apparaître nt_deployer?

grosse Pomme de terre
la source
J'ai couru ssh-keygenet ça a fonctionné
bigpotato
Veuillez publier votre solution et la marquer comme une réponse - cela empêche ServerFault de se retrouver avec des questions "sans réponse" qui n'ont besoin d'aucune aide.
TessellatingHeckler
Lorsque vous avez couru ssh-keygen, vous avez probablement détruit la clé précédente. Savez-vous pourquoi vous en avez même eu un?
Valmiky Arquissandas

Réponses:

4

Cette ligne Enter passphrase for key '/Users/emai/.ssh/id_rsa': signifie que votre clé est protégée par un mot de passe entré lorsque cette clé a été générée à chaque fois que vous l'utilisez, elle vous demandera un mot de passe.

en exécutant ssh-keygen une fois de plus sans entrer le mot de passe, vous avez généré une autre clé. Pas de mot de passe dans la clé - pas d'invite de mot de passe :)

voici une citation de la page de manuel ssh-keygen:

Normalement, ce programme génère la clé et demande un fichier dans lequel stocker la clé privée. La clé publique est stockée dans un fichier portant le même nom mais `` .pub '' ajouté. Le programme demande également une phrase secrète. La phrase secrète peut être vide pour indiquer l'absence de phrase secrète (les clés d'hôte doivent avoir une phrase secrète vide), ou il peut s'agir d'une chaîne de longueur arbitraire. Une phrase secrète est similaire à un mot de passe, sauf qu'elle peut être une phrase avec une série de mots, des signes de ponctuation, des nombres, des espaces ou toute chaîne de caractères souhaitée. Les bonnes phrases de passe sont composées de 10 à 30 caractères, ne sont pas des phrases simples ou autrement faciles à deviner (la prose anglaise n'a que 1 à 2 bits d'entropie par caractère et fournit de très mauvaises phrases de passe) et contient un mélange de lettres majuscules et minuscules, de chiffres, et les caractères non alphanumériques. La phrase secrète peut être modifiée ultérieurement à l'aide de l'option -p.

Il n'y a aucun moyen de récupérer une phrase secrète perdue. Si la phrase secrète est perdue ou oubliée, une nouvelle clé doit être générée et la clé publique correspondante copiée sur d'autres machines.

stimuler
la source
J'ai trouvé que SSH demandera une phrase secrète s'il a du mal à lire la clé privée. Je lui ai donné un fichier vide et il m'a demandé une phrase secrète.
makhdumi
1
Cela signifie que vous devez exécuter ssh -vpour voir l'erreur réelle, généralement c'est un problème d'autorisations, car le fichier de clé doit avoir des 0600autorisations.
stimur
Il se peut également que l'utilisateur ne soit pas propriétaire du fichier de clés. Cela se produit souvent lors de la copie des clés d'autres utilisateurs.
Rusty Weber
@stimur 400 devrait être suffisant
030
1
Avertissement: au moins sur mon OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017, openssh demandera une phrase de passe même sur une clé qui n'a pas de phrase de passe s'il n'y a pas de nouvelle ligne après le -----END OPENSSH PRIVATE KEY----- - juste ajouter une nouvelle ligne après cela l'empêche de demander une phrase de passe, des trucs bizarres.
hanshenrik
3

En s'appuyant sur la réponse de stimur, oui, ssh demande la phrase secrète d'une clé. Ce qui signifie que vous utilisez une clé en premier lieu.

Si c'est ce que vous voulez - une clé privée protégée par une phrase secrète, vous pouvez utiliser ssh-agentpour vous souvenir de la phrase secrète (ou de la clé privée déchiffrée, je ne sais pas laquelle), afin que vous puissiez vous connecter sans retaper la phrase secrète. Vous pouvez vous en souvenir indéfiniment ou pour une durée fixe.

man ssh-agentet man ssh-add!

Valmiky Arquissandas
la source
que faire si j'exécute ssh-agent, ssh-add et après avoir exécuté la commande ssh, il demande toujours la phrase secrète? Et quand j'entre la phrase secrète, elle me demande même un mot de passe, car elle pense que la phrase secrète est probablement mauvaise? Si la phrase de passe est incorrecte, la commande ssh-add ne l'accepterait pas non plus.
Darius.V
Darius: soit la phrase de passe est fausse, soit vous avez plus d'une clé. Essayez l' ssh -voption.
Valmiky Arquissandas
J'ai essayé -vvv. Après avoir demandé une phrase de passe - elle dit "aucune phrase de passe ne doit être donnée, essayez la touche suivante". Mais pashprhase est une chaîne vide, donc je viens d'appuyer sur Entrée. Ensuite, il écrit "nous n'avons pas envoyé de paquet, désactivez la méthode" et "mot de passe authmethod_lookup" et après quelques messages, il demande le mot de passe. J'ai essayé d'entrer '' et entrez, puis il dit - mauvaise phrase de passe. Et j'ai plus d'une clé, une avec phrase de passe, une autre sans phrase de passe. Mais je passe à la commande ssh -i id_rsa et il faut savoir que j'en utilise un sans phrase de passe
Darius.V
@ Darius.V: vous pouvez spécifier explicitement la clé par -i /path/to/keyet vérifier la sortie détaillée de ssh, ainsi que vérifier les autorisations pour le fichier de clé. Veuillez vous assurer que vous utilisez une clé publique et non privée.
stimur