web-dev-qa-db-fra.com

Pourquoi ne sera-t-il pas automatiquement connecté à SSH avec travail autorisé?

J'ai créé une DSA-KeyPair privé/public. J'ai mis la clé publique sur le serveur dans

~/.ssh/authorized_keys

Tout est configuré comme mon autre serveur, mais il semble que le serveur ignore mes efforts.

11
Magnar

Bien que votre problème ait peut-être déjà été résolu par d'autres réponses, je me suis enfermé à partir de suffisamment de machines de ne pas valider les changements SSHD_CONFIG avant de vous identifier, il est donc utile du processus ci-dessous pour le débogage futur des modifications de la configuration SSHD:

Ne déconnectez pas une connexion SSH active tant que lorsque vous avez vérifié le comportement vérifié.

une. Vérifiez ce que vous pensez que SSHD est censé faire

b. Vérifiez que la configuration est valide en utilisant "-t"

c. Démarrez une version verbeuse 'Test' du serveur que vous pouvez vivre moniteur

ré. Démarrez une connexion client "test" verbose que vous pouvez vivre moniteur


une. Vérifiez ce que vous pensez que SSHD est censé faire

Passez en revue le fichier de configuration du SSHD sans tout le commentaire avec quelque chose comme ci-dessous (en supposant que SSHD_Config est le fichier correct et dans/etc/ssh)

$ grep -v "^ #"/etc/ssh/ssh/sshd_config | grep -v "^ $"

Cela vient d'effacer les choses afin que nous vérifions ce que nous pensons que nous changeons (pas nécessairement si cela est correct ou non.)

b. Vérifiez que la configuration est valide en utilisant "-t"

De la page man du sshd que j'utilise,

-t mode de test. Vérifiez uniquement la validité du fichier de configuration et de la santé mentale des clés. Ceci est utile pour la mise à jour de SSHD de manière fiable lorsque les options de configuration peuvent changer.

D'autres changements peuvent avoir des circonstances plus subtiles. Par exemple, ne désactivez pas l'authentification par mot de passe tant que vous êtes sûr que l'authentification de la clé publique fonctionne correctement.

c. Démarrez une version verbeuse 'Test' du serveur que vous pouvez vivre moniteur

$ Sudo/usr/sbin/sshd -ddd -p 9999

Cela conserve votre session de travail existante active, mais vous donne une autre instance de SSHD pour vérifier vos nouvelles modifications de configuration. SSHD fonctionne maintenant au premier plan vers un port défini par l'utilisateur (9999 dans notre exemple.) Et poussant beaucoup d'informations de débogage bruyantes que vous pouvez suivre dans/var/log/authlog (ou éventuellement /var/aug/auth.log en fonction sur votre système d'exploitation)

ré. Démarrez une connexion client "test" verbose que vous pouvez vivre moniteur

Exécutez la connexion client SSH en mode Verbose pour afficher sur votre écran Plus d'informations pouvant vous amener à mieux déboguer votre erreur.

$ ssh -vvv -p 9999 nom de serveur

Vous devez maintenant avoir suffisamment d'informations dans les fichiers journaux du serveur ou dans l'écran de connexion du client pour isoler votre problème.

La solution se présente généralement aux autorisations de fichier (comme indiqué par Magnar et SetatakaShashi)

Bonne chance

14
samt

$ chmod 700 ~

$ chmod 700 ~/.ssh

$ CHMOD 600 ~/.SSH/Authorized_keys

Vérifiez ces attributs dans/etc/ssh/sshd_config

$ Sudo grep pubkeyauthentication/etc/ssh/sshd_config

Protocole de $ sudo Grep/etc/ssh/sshd_config

11
setatakahashi

Un autre piège important ..

Si votre annuaire de domicile est crypté Sshd n'aura pas accès à ~/.SSH/Authorize_Keys ..

Voir this réponse

0
ApriOri