Forcer SSH à demander ma phrase secrète de clé privée dans le shell (pas dans une fenêtre)

9

Lorsque j'utilise SSH pour la première fois après le démarrage, il me demande ma phrase secrète de déverrouillage de clé privée (qui est le comportement que j'attends). Mais il le fait dans une fenêtre, pas dans le shell (similaire à gksudoVS sudo). C'est frustrant (je dois utiliser ma souris pour cliquer sur la fenêtre) et deuxièmement provoque parfois un bug (j'utilise le terminal Guake, parfois en plein écran, auquel cas je ne peux pas me concentrer sur la fenêtre SSH et je suis obligé de redémarrer X ).

Donc, ma question est: existe-t-il un moyen de forcer SSH à demander ma phrase secrète de clé privée sur la ligne de commande, au lieu de faire apparaître une fenêtre?

Adrien Luxey
la source
env ssh ... le ferait, mais cela perd ssh-agent donc ce n'est pas tout à fait ça. Peut-être que quelqu'un peut comprendre le reste.
Joshua

Réponses:

7

Vous avez probablement l'un des *-askpasspackages installés et la variable d'environnement SSH_ASKPASSdéfinie en conséquence; voir ssh (1) . Désinstaller la variable, par exemple dans votre ~/.bashrc, ou désinstaller le paquet devrait faire l'affaire.

Voir aussi Dire à SSH d'utiliser une invite graphique pour la phrase de passe clé pour le problème inverse et quelques conseils sur l'environnement.

Murphy
la source
1
Ce ne sera probablement pas le cas. SSH demande une phrase de passe toujours dans le TTY, sauf s'il n'en a pas (si vous êtes en faux, je parie que vous en avez un). L'invite vient très probablement de gnome-keyring(une capture d'écran par l'OP confirmerait cela), comme expliqué dans mon autre réponse.
Jakuje
En effet, la gnome-askpassfenêtre ne ressemble pas à l'habituelle: askpass ne lit que "Entrez votre phrase secrète OpenSSH" avec un champ de texte. J'ai essayé de prendre une capture d'écran, mais cela ne fonctionne pas: la fenêtre capture les événements clés (même problème qui provoque le bug avec guake plein écran). Je prendrai une photo si besoin.
Adrien Luxey
@AdrienLuxey Essayez Gimp, il est capable de prendre une capture d'écran de la fenêtre active après un timeout. Mais plus important encore, vous devriez vérifier l'arborescence ps pour voir qui / quoi appelle la fenêtre.
Murphy
3

Vous avez la clé privée ajoutée dans le gnome-keyringou quelque chose d'autre, qui émet l'invite GUI pour la phrase secrète. Vous ne pouvez pas vous en débarrasser dans cette configuration.

Mais il est possible d'utiliser normal ssh-agent(en supprimant gnome-keyringou en commençant par la ssh-agentsuite) et l' AddKeysToAgent yesoption de votre ssh_config, ce qui entraînera le comportement que vous attendez - après le démarrage, l'agent n'aura pas de clés et elles seront automatiquement ajoutées après la première utilisation.

Des cas similaires sont expliqués dans des questions connexes:

Jakuje
la source