{"id":84,"date":"2009-02-11T15:32:11","date_gmt":"2009-02-11T14:32:11","guid":{"rendered":"http:\/\/wp1.fredptitgars.net\/index.php\/2009\/02\/11\/ssh-sous-linux\/"},"modified":"2009-02-11T15:32:11","modified_gmt":"2009-02-11T14:32:11","slug":"ssh-sous-linux","status":"publish","type":"post","link":"https:\/\/fredptitgars.ovh\/?p=84","title":{"rendered":"ssh sous linux"},"content":{"rendered":"<h2>Description<\/h2>\n<p>ssh (Secure shell)  est un protocole de connections.<\/p>\n<p>Dans l&rsquo;exemple on utilise openssh-server pour le serveur, et openssh-client comme client. <\/p>\n<p>Il exsite deux m\u00e9thode de connections:<br \/>\n&#8211; Par utilisateur\/mot de passe<br \/>\n&#8211; Par cl\u00e9 publique\/cl\u00e9 priv\u00e9<\/p>\n<h2>connections par utilisateur\/mot de passe<\/h2>\n<p>Il est forc\u00e9ment n\u00e9cessaire de disposer d&rsquo;un serveur ssh et d&rsquo;un client ssh.<\/p>\n<p><strong>Serveur<\/strong><\/p>\n<p>Il faut activer l&rsquo;authentification par utilisateur\/mot de passe<\/p>\n<p>dans le fichier  <em>\/etc\/ssh\/sshd_config<\/em> il faut mettre:<\/p>\n<p><code><br \/>\nPasswordAuthentification yes<br \/>\n<\/code><\/p>\n<p><strong>Client<\/strong><\/p>\n<p>Pour le client il suffit de rentrer en ligne de commande:<\/p>\n<p><code><br \/>\nssh utilisateur@serveur.org<br \/>\n<\/code><\/p>\n<p>Le mot de passe vous sera demand\u00e9.<\/p>\n<h2>Connections par cl\u00e9 publique\/cl\u00e9 priv\u00e9<\/h2>\n<p>L&rsquo;autre m\u00e9thode pour se connecter est d&rsquo;utiliser le syst\u00e8me de cl\u00e9 publique\/cl\u00e9 priv\u00e9. C&rsquo;est le principe de la [?cryptographie asym\u00e9trique]<\/p>\n<p><strong>Client<\/strong><\/p>\n<p>Il est n\u00e9cessaire de g\u00e9n\u00e9rer une cl\u00e9 sur le client:<\/p>\n<p><code><br \/>\nssh-keygen -t dsa<br \/>\n<\/code><\/p>\n<p>Le syst\u00e8me demande o\u00f9 enregistrer la cl\u00e9. Par d\u00e9faut c&rsquo;est dans : <em>&nbsp;\/.ssh\/id_dsa<\/em>. Il est demand\u00e9 aussi une passphrase. Ce n&rsquo;est pas une obligation, mais cela permet de prot\u00e9ger cette cl\u00e9.<\/p>\n<p>La clef publique a \u00e9t\u00e9 cr\u00e9\u00e9e avec la nouvelle cl\u00e9 priv\u00e9e. Elles sont habituellement localis\u00e9es dans le dossier cach\u00e9 :<br \/>\n&#8211;  \u00ab &nbsp;\/.ssh\/id_dsa.pub \u00bb pour la cl\u00e9 publique<br \/>\n&#8211; \u00ab &nbsp;\/.ssh\/id_dsa \u00bb pour la cl\u00e9 priv\u00e9.<\/p>\n<p>La cl\u00e9 publique doit \u00eatre envoy\u00e9 au serveur. Sur le client lancez la commande:<\/p>\n<p><code><br \/>\nssh-copy-id -i &nbsp;\/.ssh\/id_dsa.pub <username>@<ipaddress><br \/>\n<\/code><\/p>\n<p>Dans le cas ou l&rsquo;authentification par mot de passe est d\u00e9sctiv\u00e9, l&rsquo;autre methode pour copi\u00e9 la cl\u00e9 publique sur le serveur:<br \/>\n<code><br \/>\nssh login@serveur \"echo $(cat &nbsp;\/.ssh\/id_dsa.pub) >> .ssh\/authorized_keys\"<br \/>\n<\/code><\/p>\n<p>Dor\u00e9navant pour se conn\u00e9cter au serveur il suffit de lanc\u00e9:<\/p>\n<p><code><br \/>\nssh <username>@<ipaddress> -p <num_port><br \/>\n<\/code><\/p>\n<p>Le mot de passe de la cl\u00e9 priv\u00e9 est demand\u00e9 si on en a mis un. <\/p>\n<h2>La copie de fichier en ssh<\/h2>\n<p>La copie en ssh ressemble fortement a la copie de <em>cp<\/em>.<\/p>\n<p>Pour copier un fichier \u00e0 partir d&rsquo;un ordinateur sur un autre avec SSH, vous devrez utiliser la commande scp. Cela ressemblera \u00e0 ceci :<\/p>\n<p><code><br \/>\nscp <fichier> <username>@<ipaddress>:<DestinationDirectory><br \/>\n<\/code><\/p>\n<p>Ou en termes profanes, si je d\u00e9sirais copier un fichier d&rsquo;un de mes ordinateurs \u00e0 l&rsquo;autre, je proc\u00e8de de cette mani\u00e8re :<\/p>\n<p><code><br \/>\nscp fichier.txt utilisateur@serveur:\/home\/utilisateur<br \/>\n<\/code><\/p>\n<p>Ou copier un r\u00e9pertoire vers un ordinateur :<\/p>\n<p><code><br \/>\nscp -r r\u00e9pertoire utilisateur@serveur:\/home\/utilisateur\/<br \/>\n<\/code><\/p>\n<p>Vous pouvez aussi bien copier des fichiers \u00e0 partir des ordinateurs \u00e0 distance sur votre disque local :<\/p>\n<p><code><br \/>\nscp utilisateur@serveur:\/home\/utilisateur\/fichier.txt .<br \/>\n<\/code><\/p>\n<h2>Les fichiers<\/h2>\n<p><em>$HOME\/.ssh\/known_hosts<\/em><br \/>\n<br \/>Enregistre les clefs de tous les h\u00f4tes sur lesquelles l&rsquo;utilisateur s&rsquo;est connect\u00e9 et qui n&rsquo;apparaissent pas dans le fichier \/etc\/ssh\/ssh_known_hosts Voir sshd(8). <\/p>\n<p><em>$HOME\/.ssh\/identity, $HOME\/.ssh\/id_dsa, $HOME\/.ssh\/id_rsa<\/em><br \/>\n<br \/>Contiennent les identit\u00e9s d&rsquo;authentification de l&rsquo;utilisateur, respectivement pour RSA du protocole 1, DSA du protocole 2 et RSA du protocole 2. Ces fichiers contiennent des donn\u00e9es sensibles et ne doivent \u00eatre lisibles que par l&rsquo;utilisateur et non accessibles aux autres utilisateurs (en lecture, \u00e9criture et ex\u00e9cution). Note : ssh ignore purement et simplement un fichier de clef, s&rsquo;il est accessible aux autres utilisateurs. On peut sp\u00e9cifier une phrase de passe (passphrase) lors de la cr\u00e9ation de la clef. La phrase de passe (passphrase) est utilis\u00e9e pour crypter la partie sensible de ce fichier \u00e0 l&rsquo;aide de 3DES. <\/p>\n<p><em>$HOME\/.ssh\/identity.pub, $HOME\/.ssh\/id_dsa.pub, $HOME\/.ssh\/id_rsa.pub<\/em><br \/>\n<br \/>Contiennent les clefs publiques utilis\u00e9es pour l&rsquo;authentification (partie publique du fichier d&rsquo;identit\u00e9 lisible par un humain). Il faut ajouter le contenu du fichier $HOME\/.ssh\/identity.pub dans le fichier $HOME\/.ssh\/authorized_keys sur chacune des machines sur lesquelles l&rsquo;utilisateur souhaite se connecter \u00e0 l&rsquo;aide de la m\u00e9thode d&rsquo;authentification RSA de la version 1 du protocole. Il faut ajouter le contenu des fichiers  $HOME\/.ssh\/id_dsa.pub et $HOME\/.ssh\/id_rsa.pub dans le fichier $HOME\/.ssh\/authorized_keys sur chacune des machines sur lesquelles l&rsquo;utilisateur souhaite se connecter \u00e0 l&rsquo;aide de la m\u00e9thode d&rsquo;authentification DSA et RSA de la version 2 du protocole. Le contenu de ces fichiers n&rsquo;est pas sensible et peut rester accessible aux autres utilisateurs (mais ce n&rsquo;est pas obligatoire). Ces fichiers ne sont pas n\u00e9cessaires, et de toute fa\u00e7on jamais utilis\u00e9s automatiquement. C&rsquo;est juste une commodit\u00e9 pour l&rsquo;utilisateur. <\/p>\n<p><em>$HOME\/.ssh\/config<\/em><br \/>\n<br \/>C&rsquo;est le fichier de configuration utilisateur. Le format de ce fichier ainsi que les options de configuration sont d\u00e9crits dans ssh_config5. \u00c9tant donn\u00e9 les abus potentiels, ce fichier doit avoir strictement comme permission : lecture\/\u00e9criture pour l&rsquo;utilisateur, et inaccessible aux autres utilisateurs. <\/p>\n<p><em>$HOME\/.ssh\/authorized_keys<\/em><br \/>\n<br \/>Liste les clefs publiques (RSA\/DSA) utilisables pour se connecter en tant que cet utilisateur. Le format de ce fichier est d\u00e9crit dans la page de manuel sshd(8). Dans le cas le plus simple, le format est semblable \u00e0 celui des fichiers d&rsquo;identit\u00e9 \u00ab .pub \u00bb. Ce fichier n&rsquo;est pas tr\u00e8s sensible, mais il est recommand\u00e9 qu&rsquo;il soit accessible en lecture\/\u00e9criture \u00e0 l&rsquo;utilisateur, et inaccessible aux autres utilisateurs.<\/p>\n<h2>ssh dans les scripts<\/h2>\n<p>Pour pouvoir utiliser ssh dans des script, il est n\u00e9cessaire de mettre en oeuvre le m\u00e9thode de <strong>cl\u00e9 publique\/cl\u00e9 publique sans mot de passe \u00e0 la passphrase<\/strong>. ensuite on utilise les commande de ssh\/scp normalement. Aucun mot de passe ne sera demand\u00e9. C&rsquo;est la cl\u00e9 priv\u00e9, qui permet de crypter l&rsquo;\u00e9change.<\/p>\n<h2> Choisir entre RSA et DSA<\/h2>\n<p>Le cryptage par DSA est plus fort que le cryptage par RSA m\u00eame si le cryptage RSA est plus rapide \u00e0 lire.<br \/>\n&#8211; RSA : [?Rivest_Shamir_Adleman]<br \/>\n&#8211; DSA : [?Digital_Signature_Algorithm]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Description ssh (Secure shell) est un protocole de connections. Dans l&rsquo;exemple on utilise openssh-server pour le serveur, et openssh-client comme client. Il exsite deux m\u00e9thode de connections: &#8211; Par utilisateur\/mot de passe &#8211; Par cl\u00e9 publique\/cl\u00e9 priv\u00e9 connections par utilisateur\/mot de passe Il est forc\u00e9ment n\u00e9cessaire de disposer d&rsquo;un serveur ssh et d&rsquo;un client ssh. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-84","post","type-post","status-publish","format-standard","hentry","category-linux"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/posts\/84","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=84"}],"version-history":[{"count":0,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/posts\/84\/revisions"}],"wp:attachment":[{"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=84"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=84"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}