|
Softs
osx2x 2.2.0 DesktopManager 0.5.1 SSHTunnel Manager 1.0 SSHLogin 1.2 Packages Icones grises T610 (60.3 ko) Postfix-1.1.11 (3.9 Mo) fink-0.10.0-cvs (8.9 Mo) MySql 3.23.52 (3.8 Mo) Tech
|
Depuis un certain temps déjà, SSH a remplacé le vieux et on ne peut moins sécurisé telnet traditionnel sur plateforme Unix.
Outre la faculté de se connecter sur un shell distant de manière sécurisée et cryptée, SSH ajoute un certain nombre de fonctions qui peuvent rendre son utilisation beaucoup plus aisée si on sait s’en servir.
Ce premier article détaille comment générer, et utiliser des clés SSH pour rendre les connexions plus simples en restant sécurisées.
Principe de fonctionnement
Lorsqu’un client SSH se connecte au serveur, il essaye plusieurs méthode d’authentification, principalement l’échange de clés et la saisie du mot de passe si celle-ci est permise (oui par défaut, même pour root). Une clé consiste en deux fichiers, l’un étant appelé clé privée, et l’autre clé publique. ces deux fichiers portent la même base de nom, mais la clé publique se termine par ".pub". Les clés sont en général stockées dans le répertoire /.ssh/ (le désigne votre répertoire de base). Appelé sans arguments, ssh essayera d’utiliser par défaut, et si elle existe la clé /.ssh/id_dsa (.pub pour la publique). Il est possible de préciser une autre clé via l’argument -i. Génération des clés
Les clés sont générées grâce à la commande ssh-keygen qui, après nous avoir posé quelques questions, créera les deux fichiers constituants la clé privée et la clé publique. La passphrase sera nécéssaire pour débloquer une clé, demanière à ce que même si quelqu’un entre en possession de votre clé privée, il lui soit nécéssaire de connaître la passphrase pour l’utiliser. Il est possible de ne pas en préciser, au détriment de la sécurité. Choisissez donc une phrase assez longue (10/20 caractères) dont vous vous rappelerez. N’hésitez pas à mélanger les majuscules et les minuscules. user@hote_local $ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/Users/user/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in id_dsa. Your public key has been saved in id_dsa.pub. The key fingerprint is: d1:56:d2:6b:dc:8c:dc:9b:50:c6:27:9a:99:c8:71:9c user@machine.domaine.com Vous disposez à présent d’une clé que vous allez pouvoir utiliser pour vos connexions SSH. La clé publique (.pub) peut être distribuée sans risques, la clé privée par contre doit impérativement rester secrète. Echange des clés
Le principe est que le compte de la machine distante sur laquelle vous vous connectez doit avoir connaissance de votre clé publique pour pouvoir vous authentifier. Pour cela SSH prévoit un fichier qui stockera toute les clés publiques des utilisateurs pouvant se connecter, il s’agit du fichier /.ssh/authorized_keys2 (le fichier authorized_keys, si vous l’avez, est réservé à l’usage du protocole 1 de ssh, cette différentiation est ammenée à disparaître). Un moyen commode donc pour ajouter votre clé à celles d’un compte distant est de l’envoyer... en ssh ! Vous devez bien sûr disposer du mot de passe de l’utilisateur distant, donc être déjà en mesure de vous connecter : user@hote_local $ cat .ssh/id_dsa.pub | ssh user@hote_distant "cat >> .ssh/authorized_keys2" Ceci a pour effet d’ajouter le contenu de id_dsa.pub au fichier distant authorized_keys2. A présent, vous devriez pouvoir vous connecter en utilisant votre clé : user@hote_local $ ssh user@hote_distant Enter passphrase for key '.ssh/clients': user@hote_distant $ Et là vous me dites "C’est génial, avant je tapais un mot de passe court, maintenant j’ai carrément une phrase à taper !", et je vous répond que c’est le prix de la sécurité, mais ne partez pas tout de suite, ce n’est pas fini, nous allons étudier un moyen de nous éviter la saisie de cette passphrase. L’agent ssh (ssh-agent)
C’est notre sauveur, nous allons lui déléguer la gestion des clés, et il s’occupera de nous demander les passphrases une bonne fois pour toutes. Pour cela, il faut déjà lancer l’agent : user@hote_local $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-SOX10624/agent.10624; export SSH_AUTH_SOCK; SSH_AGENT_PID=10625; export SSH_AGENT_PID; echo Agent pid 10625; Interessant n’est il pas ? l’agent nous retourne des lignes de shell à éxécuter si nous voulons l’utiliser. En effet, les connexions ssh que nous allons lancer devront connaitre ces information pour utiliser l’agent, alors pourquoi l’agent n’exporte t’il pas lui même ces valeurs ? Eh bien parceque s’il nous les donne, on peut les retenir, et donc les utiliser pour les futurs shell que nous allons ouvrir. Le but final étant de saisir la/les passphrase à l’ouverture du premier terminal. Pour éxécuter ces lignes, on peut utiliser la souris et copier/coller dans une ligne de commande : user@hote_local $ SSH_AUTH_SOCK=/tmp/ssh-SOX10624/agent.10624; export SSH_AUTH_SOCK; user@hote_local $ SSH_AGENT_PID=10625; export SSH_AGENT_PID; user@hote_local $ echo Agent pid 10625; Agent pid 10065 Un moyen commode de lancer l’agent tout en exportant les variables est de l’éxécuter comme ceci : user@hote_local$ eval `ssh-agent` Agent pid 10838 (Notez que les guillemets sont inversés, il s’agit de backquotes, la même touche que la livre £ sur le clavier d’un Macintosh) Ajout des clés
Maintenant que l’agent est lancé, et l’environnement exporté, il ne sert à rien sans connaitre les clés, qu’il faut lui fournir avec l’outil ssh-add : user@hote_local $ ssh-add ~/.ssh/id_dsa Enter passphrase for .ssh/id_dsa: Identity added: .ssh/id_dsa (.ssh/id_dsa) ![]() A présent, toute authentification nécéssitant l’usage d’une clé gérée par l’agent ne demandera plus de passphrase. On peut ajouter autant de clé que l’on veut dans l’agent, pour chaque clé, l’agent tentera de les déverrouiller avec les passphrase fournies précédemment, donc si vous utilisez toujours la même passphrase, elle ne vous sera demandée qu’une fois. C’est mieux non ? Quoique un peu lourd à l’ouverture du premier terminal de devoir lancer l’agent n’est-ce pas ? Coninuez donc à lire, cette dernière partie est consacrée à keychain, originaire de la distribution Linux gentoo, il va s’occuper de lancer l’agent quand besoin est et y ajouter les clés voulues. Keychain
Le principe de cet outil est de vérifier si un agent tourne sur le système, et si ce n’est pas le cas, il le lance et y ajoute les clés passées en argument. Pour l’installer, commencez par le télécharger, et après l’avoir décompressé, copiez le fichier keychain dans un répertoire standard de votre système : user@hote_local$ cp keychain /usr/bin/ Sa mise en oeuvre est très simple, il s’agit juste de deux lignes dans votre fichier .bash_profile (bash), .zprofile (zsh) ou .cshrc (compatible csh). Si votre shell est celui par défaut de MacOS X, il s’agit de tcsh, vous devez donc insérer ceci dans votre fichier /.cshrc : keychain ~/.ssh/id_dsa source ~/.ssh-agent-csh-${HOSTNAME} Si vous utilisez un autre shell, compatible bash, ces lignes sont pour vous : keychain ~/.ssh/id_dsa . ~/.ssh-agent-${HOSTNAME} Respectez scrupuleusement la syntaxe de ces lignes (la deuxième commence par un "."). Vous pouvez en outre préciser autant de clé que vous le désirez après la commande keychain, j’ai juste précisé la clé par défaut dans l’exemple. Ouvrez un nouveau terminal : KeyChain 1.8; http://www.gentoo.org/projects/keychain Copyright 2001 Gentoo Technologies, Inc.; Distributed under the GPL * All previously running ssh-agent(s) have been stopped. * Initializing /Users/yann/.ssh-agent-ibook.home.net file... * Initializing /Users/yann/.ssh-agent-csh-ibook.home.net file... * Starting new ssh-agent * 2 more keys to add... Enter passphrase for /Users/yann/.ssh/id_dsa: Identity added: /Users/yann/.ssh/id_dsa (/Users/yann/.ssh/id_dsa) Identity added: /Users/yann/.ssh/clients (/Users/yann/.ssh/clients) Voilà ce que cela donne chez moi, je dispose de deux clés, une personelle id_dsa et une professionelle pour mes clients clients avec la même passphrase, que keychain ne me demande qu’une fois puisqu’elle lui permet de déverrouiller les deux clés. C’est tout ! A présent, vous êtes sûrs de ne taper qu’une fois vos passphrase dans une session, et vos connexions restent sécurisée (aucun mot de passe ou passphrase est stocké dans un fichier, le mécanisme est fiable).
[Réagir à cet article]
> Gérer les clés SSH
bonjour,
super l’article, je n’ai jamais vu une publication sur ssh-agent aussi bien faite et en plus avec des shémas intelligibles... Merci. > Gérer les clés SSH
Un grand merci, mon article a donc atteint son but de vulgarisation, et j’en suis content.
N’hésitez pas a m’encourager ! ;-)
> Gérer les clés SSH
il manque juste un truc c’est comment démarrer ssh_agent comme processus pére d’une session X ;)
ciao. > Gérer les clés SSH
A priori je ne vois pas de raisons pour que ssh-agent soit le père d’une session X. Une justification serait de vouloir lancer des applications qui auraient besoin de clés dont la passphrase n’est pas encore connue, sans avoir de terminal pour les demander.
Mais dans ce cas, ssh-agent prévoit la varibale d’environnement "SSH_ASKPASS" qui doit pointer vers une application capable de demander la passphrase (une application Aqua sous OSX par exemple).
C’est un sujet auquel je dois m’intéresser, mais je n’ai pas encore trouvé le temps ;-)
Quelques ressources intéressantes : http://developer.apple.com/qa/qa2001/qa1067.html qui indique comment régler une variable d’environnement pour l’environnement graphique
> Gérer les clés SSH
Deux-peccables ! Ca c’est du vrai transfert de connaissance en vrai français (sans parler de la mise en page) !
> Gérer les clés SSH
Ca fait chaud au coeur !
Pour info, la beta 4 de SSHTunnelManager devrait sortir d’ici quelques jours ;-) > Gérer les clés SSH
L’article est très bien réalisé et est clair. Grace à lui j’ai réalisé rapidement une connexion SSH entre mes ordinateurs. Merci.
J’ai une question relative aux choix que j’ai faits pour mettre en place une liaison SSH : comment convertir les clefs privées générées par le logiciel PUTTY en des clefs normales compréhensibles par un linux/unix ?
> Gérer les clés SSH
Ces clés sont les mêmes, putty dans les versions récentes et d’après mes souvenirs doit permettre d’exporter les clé, c’est quelquepart dans les menus, il faut copier/coller tel quel ce qu’il fournit (la clé publique en général) et la coller dans le fichier authorized_keys2 si ce sont des clés dsa ou authorized_keys si se sont des clés RSA (Attention à ne pas mettre de retours chariot ou autres caractères parasites !)
> Gérer les clés SSH
Salut,
bravo pour ton article très bien fait. Je voudrais juste savoir si le serveur est authentifié (le client l’est par le fichier authorized_keys)(la clé publique du serveur est-elle transmise pour vérifier son authentification ?), et la différence entre la version 1 et 2 de ssh. J’ai entendu parler de Diffie Helmann pour la v2, mais j’ai du mal à détailler l’échange des clés. Merci d’avance > Gérer les clés SSH
Génial, on cherche une info, on tape dans google et on trouve en français la réponse à sa question ... Merci
Ps encore Merci
ads
squirting pics rough pics chicks pics adult hot clips pics animated forum black clips big videos thumbnails trailers previews girls teen clips sample girls men pics black girls lips videos ejaculation pics huge pics dirty pics girls pics teen clips teen clips madchen pics samples pics thumb pics getting videos horny trailers teen clips samples pics animated pics teen clips movie girls teens pics black pictures
latina movies transexual mpgs asian images asian download blow job images masterbation pics asian live cam older pics whore movie asian download blow job images amatuer movies teen pics asian image bondage pics asian videos blowjob downloads mature pics asian movies bondage pics black movies latina trailers asian live cam asian movies blowjob downloads asian previews asian videos ebony movies asian shows asian pics best movies asian movies asian images
black trailers black picts asian download asian movies younger movies asian movies asian image shemale pictures asian no credit card latina movies blowjob downloads asian free mature videos hot movies teen videos younger movies teenie download latina movies younger clips anal movies black movies black trailers hot movies asian movies asian picts teen videos teenie movies blowjob avis masterbation movies asian download blowjob mpgs blowjob downloads asian picts
ads
jhjgjhghjhghjgh
|