J'ai configuré quelques serveurs Linux pour authentifier avec Active Directory Kerberos à l'aide de SSSD sur RHEL6. J'ai également activé l'authentification GSSAPI dans l'espoir de connexions sans passe.
Mais je ne peux pas sembler avoir puty (0,63) pour authentifier sans mot de passe.
GSSAPI fonctionne entre Linux Systems (client OpenSSH) configuré pour l'authentification AD, à l'aide des paramètres .SSH/Config pour activer GSSAPI.
Cela fonctionne également de Cygwin (client Opensssh), en utilisant les mêmes paramètres .ssh/config, ainsi que la commande Kinit pour obtenir un ticket.
Aussi Samba partage sur tous les systèmes Linux, y compris les répertoires de la maison, fonctionnent à partir de Windows Explorer sans nécessiter de mot de passe (je ne suis pas sûr si Gssapi entre en jeu)
Quel genre de choses puis-je essayer de résoudre ce problème? La plupart de mes utilisateurs utilisent des mastics. En outre, je ne suis pas un administrateur Windows, donc je ne peux rien faire sur les contrôleurs de domaine. Mon compte n'a que des privilèges pour ajouter des serveurs au domaine public.
J'ai allumé la journalisation des paquets SSH Putty SSH. J'ai trouvé ce genre d'intéressant, je ne suis pas sûr de quoi faire avec cette information:
Event Log: Server version: SSH-2.0-OpenSSH_5.3
Event Log: Using SSH protocol version 2
Event Log: We claim version: SSH-2.0-PuTTY_Release_0.63
Outgoing packet #0x0, type 20 / 0x14 (SSH2_MSG_KEXINIT)
Incoming packet #0x0, type 20 / 0x14 (SSH2_MSG_KEXINIT)
Event Log: Doing Diffie-Hellman group exchange
Outgoing packet #0x1, type 30 / 0x1e (SSH2_MSG_KEX_DH_GEX_REQUEST)
Incoming packet #0x1, type 31 / 0x1f (SSH2_MSG_KEX_DH_GEX_GROUP)
Event Log: Doing Diffie-Hellman key exchange with hash SHA-256
Outgoing packet #0x2, type 32 / 0x20 (SSH2_MSG_KEX_DH_GEX_INIT)
Incoming packet #0x2, type 33 / 0x21 (SSH2_MSG_KEX_DH_GEX_REPLY)
Outgoing packet #0x3, type 21 / 0x15 (SSH2_MSG_NEWKEYS)
Event Log: Initialised AES-256 SDCTR client->server encryption
Event Log: Initialised HMAC-SHA1 client->server MAC algorithm
Outgoing raw data at 2014-11-25 00:21:08
Incoming packet #0x3, type 21 / 0x15 (SSH2_MSG_NEWKEYS)
Event Log: Initialised AES-256 SDCTR server->client encryption
Event Log: Initialised HMAC-SHA1 server->client MAC algorithm
Outgoing packet #0x4, type 5 / 0x05 (SSH2_MSG_SERVICE_REQUEST)
Incoming packet #0x6, type 51 / 0x33 (SSH2_MSG_USERAUTH_FAILURE)
...%gssapi-keyex
,gssapi-with-mic
,password.
Event Log: Using SSPI from SECUR32.DLL
Event Log: Attempting GSSAPI authentication
Outgoing packet #0x6, type 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST)
Incoming packet #0x7, type 60 / 0x3c (SSH2_MSG_USERAUTH_GSSAPI_RESPONSE)
Event Log: GSSAPI authentication initialised
Outgoing packet #0x7, type 61 / 0x3d (SSH2_MSG_USERAUTH_GSSAPI_TOKEN)
Incoming packet #0x8, type 61 / 0x3d (SSH2_MSG_USERAUTH_GSSAPI_TOKEN)
Event Log: GSSAPI authentication initialised
Event Log: GSSAPI authentication loop finished OK
Outgoing packet #0x8, type 66 / 0x42 (SSH2_MSG_USERAUTH_GSSAPI_MIC)
Incoming packet #0x9, type 51 / 0x33 (SSH2_MSG_USERAUTH_FAILURE)
...%gssapi-keyex
,gssapi-with-mic
,password.
Sur les machines Windows faisant partie d'un domaine Active Directory, les utilisateurs reçoivent leur ticket d'octroi de tickets Kerberos lorsqu'ils se connectent à Windows et que Metty est en mesure d'utiliser cela pour l'authentification si l'authentification GSSAPI est activée dans la connexion de la configuration du mastic | SSH | Auth | Gssapi (et d'autres méthodes d'authentification qu'il essaie avant que GSSAPI, telle que la clé publique via Pageant, ne sont pas configurées ni désactivées en connexion | SSH | Auth).
[Si vous avez également besoin d'une délégation de billets (par exemple, pour monter les systèmes de fichiers Kerberized sur le serveur après connexion), assurez-vous que la délégation GSSAPI est également activée dans PuTTY, et Les serveurs auxquels vous vous connectez sont marqués dans Active Directory dans l'onglet Délégation, comme " Trust Cet ordinateur de délégation à tout service (Kerberos uniquement)", qu'ils ne sont pas par défaut. Ce dernier établissement de fiducie dans l'annonce est étrangement nécessaire pour que la délégation ne fonctionne à des clients de Windows comme mastic; Il n'est pas nécessaire pour les clients de Linux "SSH -K".]
Sur les machines Windows autogérées (personnelles) qui ne font pas partie d'un domaine Active Directory, vous pouvez toujours utiliser l'authentification Kerberos/Gssapi (et la délégation de tickets) via Putty, mais vous devez obtenir le billet vous-même. Malheureusement, Windows 7 ne vient pas installé avec aucun équivalent du programme Kinit (pour demander manuellement un billet), et Puty ne vous invite pas non plus à votre mot de passe Kerberos, non plus si vous manquez d'un billet. Par conséquent, vous devez installer le package MIT Kerberos pour Windows , qui inclut à la fois les outils habituels kinit kinit/klist/kDestroy de ligne de commande, ainsi qu'un outil d'interface graphique neuve "Mit Kerberos Ticket Manager". Utilisez celles-ci pour obtenir votre billet, puis Putty utilisera automatiquement la bibliothèque MIT GSSAPI au lieu du Microsoft SSPI, et il devrait tous fonctionner. Si le "MIT Kerberos Ticket Manager" est en cours d'exécution, Il vous invitera automatiquement à votre mot de passe Kerberos lorsque Putty a besoin d'un billet. Il est donc judicieux de le lier à partir du dossier de démarrage.
Le problème était dans la configuration de Windows Kerberos. Je pense que notre Active Directory est configuré Funky, je ne sais pas vraiment que je ne suis pas un administrateur Windows.
Mais j'ai corrigé le problème en configurant manuellement les Kerberos à l'aide de Ksetup dans Windows 7 CLI.
Après un redémarrage à mon poste de travail à distance, je ne pouvais pas me connecter à mon PC. En effet, dans la configuration d'origine, la partie TLD de mon domaine de mon royaume était toujours absente (utilisateur de domaine \), mais après que je l'ai configuré manuellement, je devais modifier mon domaine de connexion pour refléter le nom de domaine complet (utilisateur de domaine.tld \) et J'ai pu me connecter à mon PC Windows, bien qu'il semble prenne plus de temps pour s'authentifier maintenant.
Avant les modifications, la sortie de Ksetup n'a montré que mon royaume par défaut et c'était en minuscule.
J'ai utilisé "nslookup -type = srv _kerberos._tcp.domain.tld" pour obtenir tous les serveurs KDC pour mon royaume.
Je n'ai défini aucun drapeau.
J'ai défini mappé mon nom d'utilisateur "ksetup/maptuser [email protected] utilisateur"
Ressources J'ai utilisé: https://wiki.ncsa.illinois.edu/display/its/windows+7+kerberos+Login inutilisateur+external+kerberos+kdc
https://www.cl.ucsf.edu/security/cglauth/cglauth.html
Si quelqu'un a des suggestions, je peux donner aux personnes administratives Windows sur la manière dont ils peuvent résoudre ce problème (est-ce cassé?) Je vais le transmettre.
PREMIER Vérifiez que votre sortie KList sur le putty Windows Box indique un TGT valide. Ensuite, dans la configuration de votre session de mastic, assurez-vous tentative d'authentification GSSAPI est activée dans Connection - SSH - Auth - GSSAPI
. Enfin, assurez-vous qu'il est configuré de vous connecter à votre nom d'utilisateur automatiquement dans Connection - Data
. Vous pouvez soit spécifier explicitement le nom d'utilisateur ou sélectionner le bouton radio pour tiliser le nom d'utilisateur du système.
Historiquement, c'est tout ce que j'ai besoin de faire pour effectuer des travaux de connexion SSH sans mot de passe via Kerberos.