mardi 20 novembre 2012

Comment utiliser les clés privées pour l'authentification SSH De Windows à Linux


Prenez un coup d'oeil dans le répertoire / var / log / secure sur un serveur connecté à Internet et vous comprendrez tout de suite la nécessité de sécuriser votre compte root. Les méchants sont constamment tenter racine et noms d'utilisateurs autres pour tenter de vous connecter à votre serveur via SSH ou autre protocole. Si vous utilisez un mot de passe simple, ce n'est qu'une question de temps avant que votre serveur est compromise par une attaque par mot de passe deviner. La meilleure pratique est d'interdire les connexions SSH en root, ce qui élimine une grande partie du risque. Le problème est que cela élimine aussi beaucoup de commodité pour les administrateurs systèmes et complique l'utilisation d'outils tels que WinSCP pour la copie de fichiers à partir de votre bureau Windows ou un ordinateur portable à votre serveur Linux ou UNIX.

Une solution assez simple consiste à utiliser des paires de clés publiques / privées pour l'authentification. La clé publique est stockée sur le serveur Linux / UNIX et la clé privée est stockée sur votre ordinateur Windows local. Lorsque vous essayez de vous connecter au serveur Linux / UNIX à partir de votre ordinateur Windows, l'authentification se fait avec la paire de clés au lieu d'un mot de passe. Mot de passe d'authentification est effectivement désactivée pour root, donc aucun montant de deviner mot de passe pour l'authentification fonctionne.

Voici comment faire:

Commencez par télécharger le programme d'installation de Windows PuTTY à partir d'Internet. Recherche sur le terme "SSH PuTTY" pour trouver l'installateur. Exécutez le programme d'installation de Windows sur votre ordinateur local.

Maintenant, vous devez générer les paires de clés. Le programme d'installation de Windows PuTTY vous juste couru installe une application appelée PuTTYgen que vous pouvez utiliser pour générer les paires de clés. L'installateur a probablement placé PuTTYgen (et les applications PuTTY autres) dans >> Démarrer Tous les programmes >> PuTTY.

Lorsque vous exécutez PuTTYgen pour la première fois, vous devez générer une nouvelle paire de clés. Au bas de la fenêtre PuTTYgen ya trois choix de paramètres, y compris SSH-1 (RSA), SSH-2 RSA, et SSH-2 DSA. SSH-2 RSA est le choix par défaut avec une longueur de clé de 1024 bits. Clés plus longues sont plus sûrs, mais nécessitent davantage de puissance de traitement. 1024 bits est un compromis acceptable à cette époque (fin 2008), mais peut ne pas être acceptable dans l'avenir comme puissance de traitement informatique ne cesse d'augmenter.

Cliquez sur le bouton Générer pour produire vos clés publiques et privées. (Vous devez déplacer le pointeur de votre souris sur la zone vide en haut de l'écran afin de générer un peu de hasard pour utilisation dans la production de la paire de clés. Il suffit de déplacer le pointeur de la souris dans un mouvement cirular sur la zone vide jusqu'à ce que la barre de progression atteint l'extrême droite et PuTTYgen génère les clés.)

Vous pouvez maintenant sauvegarder la clé privée sur votre ordinateur portable ou ordinateur de bureau locales et copier la clé publique de la télécommande Linux / UNIX serveur.

Entrez et confirmez un mot de passe pour protéger la clé privée dans les deux champs dans PuTTYgen.

Cliquez sur le bouton Enregistrer la clé privée, puis sélectionnez un emplacement sur votre disque dur local pour sauvegarder la clé privée. (N'oubliez pas de protéger votre clé privée en les stockant en toute sécurité!)

Copiez le texte charabia qui est la clé publique (en haut de la fenêtre PuTTYgen) et collez le dans / root / .ssh / authorized_keys sur votre serveur (vous aurez peut-être créer le répertoire. Ssh et vous aurez probablement pour créer le fichier authorized_keys).

Sur votre Linux / UNIX serveur, inspectez le fichier / etc / ssh / sshd_config afin de s'assurer que l'authentification RSA et authentification par clé publique sont accueillis. Sinon, changez «non» à «oui» ou décommenter les lignes pour permettre cette authentification. Aussi, assurez-vous que le chemin d'accès au fichier authorized_keys est réglé sur "% h / .ssh / authorized_keys" et décommenter la ligne. (. J'ai trouvé les trois lignes à la ligne 43 sur un système RedHat et la ligne 29 sur un système Debian) Lorsque vous avez terminé, les lignes devraient ressembler à ceci:

RSAAuthentication oui oui PubkeyAuthentication AuthorizedKeysFile% h / .ssh / authorized_keys

Testez la configuration en essayant de se connecter en tant que root en utilisant PuTTY avec authentification par clé privée: À partir de votre poste de travail Windows, lancez PuTTY et entrez le nom ou l'adresse IP de votre serveur dans le nom d'hôte (ou adresse IP).

Dans le volet gauche de la fenêtre de PuTTY, sous Catégorie, développez SSH et cliquez sur Auth.

Cliquez sur le buttown étiquetés Parcourir ... et de trouver le fichier de clé privée que vous avez enregistré précédemment.

Cliquez sur le bouton Ouvrir pour démarrer la session Lorsque vous êtes invité pour un nom d'utilisateur, entrez «root»

Si votre configuration est correcte, vous serez invité à entrer le mot de passe clé privée. Si vous l'entrez correctement, vous devez être authentifié en tant que root et voir une invite privilégié (Sur les systèmes utilisant le shell BASH, vous devriez voir un signe dièse (#).)

Vous devez également désactiver l'authentification mot de passe root afin de limiter le compte root pour l'authentification par clé privée.

Ouvrir le fichier / etc / ssh / sshd_config pour l'édition et modifier la ligne qui lit "PermitRootLogin yes" pour lire "PermitRootLogin without-password".

Redémarrez le démon ssh: # / etc / init.d / sshd restart sur les systèmes Red Hat ou / etc / init.d / ssh restart sur des systèmes Debian

Tenter de faire une connexion par mot de passe sur le serveur Linux / UNIX. Il devrait être rejetée. Tentez d'effectuer une clé privée basée connexion sur le serveur Linux / UNIX comme avant. Il devrait être couronnée de succès.

Vous pouvez utiliser la clé privée avec PuTTY et WinSCP. Je suis tombé sur des erreurs quand j'ai essayé de l'utiliser avec Tera Term, mais Tera Term comprend maintenant un utilitaire keygen qui semble fonctionner très bien avec Tera Term, si c'est votre préférence....

Aucun commentaire:

Enregistrer un commentaire