J'ai une nouvelle installation d'Ubuntu 12.04. J'essaie de configurer l'authentification par clé publique ssh. Malheureusement, cela refuse de fonctionner. En exécutant le client ssh en mode verbeux, je peux voir que les clés publiques sont refusées.
~/.ssh/authorized_keys
existe et semble avoir les permissions correctes, etc.
Ce que j'aimerais faire, c'est lire le journal de sshd pour savoir de quoi il se plaint. Mais je n'arrive pas à trouver où se trouvent les journaux de sshd sur Ubuntu 12.04. J'ai essayé de chercher sur Google et j'ai vérifié /var/log/auth.log et /var/log/syslog, mais aucun des deux n'affiche les messages de sshd. Où puis-je trouver les journaux du démon pour comprendre ce qui se passe ?
sshd is set with logging
SyslogFacility AUTH
LogLevel VERBOSE
et /etc/rsyslog.d/50-default.conf se lit :
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
mais rien n'apparaît concernant sshd dans ces fichiers journaux.
Aussi. Aucun processus sshd ne semble être en cours d'exécution si vous exécutez ps xa | grep sshd. Est-ce normal ? Il accepte certainement les connexions par mot de passe.
0 votes
Je ne sais pas si vous essayez de configurer un serveur SSH sur votre machine, ou si vous essayez de vous connecter à une machine distante en utilisant votre clé privée ?
0 votes
@AndrejsCainikovs J'essaie de configurer ma machine comme un serveur ssh. Pour les tests, j'utilise cette machine comme serveur et client (c'est-à-dire ssh localhost), ce qui fonctionne lorsqu'un mot de passe est fourni, mais j'ai besoin d'une authentification basée sur une clé.
0 votes
Je vois. Eh bien, si le mot de passe fonctionne, alors sshd est installé et fonctionne. Le journal dans /var/log/auth.log indique-t-il quelque chose lorsque vous vous connectez par mot de passe ? Lorsque vous spécifiez un mauvais mot de passe ?
0 votes
Non. Aucun journal sshd n'apparaît dans auth.log ni nulle part ailleurs où j'ai regardé.
0 votes
Mon réflexe a été de penser que vous deviez vous connecter à la mauvaise machine, mais si vous vous connectez à localhost, ce n'est pas très probable. Néanmoins, affichez la sortie de
ssh -vv localhost
et denetstat -lnt
. Avez-vous une virtualisation en cours ? Un chroot ?0 votes
Ssh -vv montre la tentative de connexion par clé publique netstat -lnt inclut la ligne : tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
0 votes
Je ne comprends pas ce que j'ai fait de mal. C'est une nouvelle installation Ubuntu, j'ai fait apt-get install openssh.
0 votes
J'ai essayé d'exécuter sshd -p 2222 -d en tant que root et cela fonctionne bien (c'est-à-dire qu'il autorise la connexion par clé publique) après avoir créé le répertoire /var/run/ssh . Le redémarrage semble effacer ce répertoire. Cela me fait penser que le problème n'a rien à voir avec les permissions sur les fichiers de clés.
0 votes
@Gilles pas de chroot - sauf si l'installation par défaut d'Ubuntu fait quelque chose de bizarre.
0 votes
Le problème est-il toujours présent après le redémarrage ? Veuillez poster votre
/etc/ssh/sshd_config
aussi. L'avez-vous modifié par rapport à la valeur par défaut ? Et veuillez exécuternetstat -lntp
(J'ai oublié lep
plus tôt) et exécutezps l
sur le processus écoutant sur le port 22 pour voir ce que c'est.0 votes
Sshd_config pastebin.com/L3vb32BU
0 votes
Ah ok. Quelque chose commence à avoir du sens ! netstat -lntp montre : tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1026/lshd ce qui signifie que lshd répond au port 22. Je suppose que c'est une partie du problème.
0 votes
$ps l ps l F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 0 1000 2324 2278 20 0 27956 5072 wait Ss pts/1 0:00 bash 0 1000 3629 2324 20 0 41444 2996 poll_s S+ pts/1 0 : 00 ssh localhost 4 1000 3631 1026 20 0 24844 8892 wait Ss pts/3 0:00 -bash 0 1000 6256 2278 20 0 27908 5024 n_tty_ Ss+ pts/2 0:00 bash 0 1000 30367 3631 20 0 6840 784 - R+ pts/3 0:00 ps l
0 votes
Il semble donc que lshd réponde au port 22 et que sshd ne fonctionne jamais (le fichier /etc/ssh/sshd_not_to_be_run existe). Est-ce que lshd est le serveur ssh standard d'ubuntu maintenant ? Lequel est recommandé. Je veux vraiment juste une configuration standard mais lshd ne semble pas aimer mon système de clé publique.