Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:sx1:ssh_bases [Le 21/03/2012, 12:42]
fabux Je me permets se sera plus simple pour voir les différences
utilisateurs:sx1:ssh_bases [Le 11/09/2022, 13:12] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 9: Ligne 9:
 {{ :​logo_openssh.png|Puffy la mascotte de OpenSSH}} {{ :​logo_openssh.png|Puffy la mascotte de OpenSSH}}
  
-**OpenSSH** est une version libre de la suite de protocole de SSH, des outils de connectivité de réseau sur lesquels un nombre croissant de personnes sur l'​Internet viennent s'​appuyer.\\ +**OpenSSH** est une version libre de la suite de protocole de SSH, des outils de connectivité de réseau sur lesquels un nombre croissant de personnes sur l'​Internet viennent s'​appuyer.
 Beaucoup d'​utilisateurs de Telnet, Rlogin, FTP, ou d'​autres programmes de même acabit ne se rendent pas compte que leur données, et notamment les mots de passe, sont transmises à travers les réseaux en clair ce qui constitue une faille évidente dans la sécurité de leur réseau.\\ Beaucoup d'​utilisateurs de Telnet, Rlogin, FTP, ou d'​autres programmes de même acabit ne se rendent pas compte que leur données, et notamment les mots de passe, sont transmises à travers les réseaux en clair ce qui constitue une faille évidente dans la sécurité de leur réseau.\\
  
Ligne 28: Ligne 28:
  
 ===== Installation ===== ===== Installation =====
-Si vous voulez accéder à un ordinateur (votre ordinateur personnel, votre serveur local, un serveur distant dont vous effectuez l'​administration,​ etc.) vous devez installer **openssh-server** sur la machine à joindre en SSH, qui sera le "​serveur"​. ​+Si vous voulez accéder à un ordinateur (votre ordinateur personnel, votre serveur local, un serveur distant dont vous effectuez l'​administration,​ etc.) vous devez installer **openssh-server** sur la machine à joindre en SSH, qui sera le "​serveur"​.
 Il vous faudra installer sur la machine qui commande, le "​client",​ **openssh-client**. Il vous faudra installer sur la machine qui commande, le "​client",​ **openssh-client**.
  
Ligne 96: Ligne 96:
 ==== Outils graphique pour les connexions SSH ==== ==== Outils graphique pour les connexions SSH ====
  
-Il existe sous Ubuntu un outil qui permet de gérer facilement les connexions SSH avec une interface graphique, [[:gstm|GSTM]].+Il existe sous Ubuntu un outil qui permet de gérer facilement les connexions SSH avec une interface graphique GSTM.
  
-==== Affichage graphique déporté (Tunneling serveurX par ssh) - Accéder aux applications graphiques ==== +==== Affichage graphique déporté (Tunneling serveurX par ssh) - Accéder aux applications graphiques ====
  
 La commande ssh offre un joker inattendu : on peut exécuter des applications X-Windows à distance. Cela est bien pratique pour travailler loin de chez soi, partager une machine ou simplement faire de l'​entretien. La commande ssh offre un joker inattendu : on peut exécuter des applications X-Windows à distance. Cela est bien pratique pour travailler loin de chez soi, partager une machine ou simplement faire de l'​entretien.
Ligne 106: Ligne 106:
  
 <note warning> <note warning>
-Attention, l'​utilisation de l'​option **-x** (minuscule) bloque le canal X-Window, donc plus d'​affichage graphique possible.\\ +Attention, l'​utilisation de l'​option **-x** (minuscule) bloque le canal X-Window, donc plus d'​affichage graphique possible.
 <​code>​ssh -x nomUtilisateur@Ipserver</​code>​ <​code>​ssh -x nomUtilisateur@Ipserver</​code>​
 </​note>​ </​note>​
Ligne 141: Ligne 141:
  
 Dans le cas où le port SSH du serveur ne serait pas le port par défaut (22), il faut indiquer le port distant à utiliser : Dans le cas où le port SSH du serveur ne serait pas le port par défaut (22), il faut indiquer le port distant à utiliser :
-<​code>​scp -P port fichier.txt hornbeck@192.168.1.103:/​home/​hornbeck</​code>​FIXME [[#Accès à distance à la console en ligne de commande (shell ssh)|autre forme]] -p (minuscule) et à la fin pareil ?+<​code>​scp -P port fichier.txt hornbeck@192.168.1.103:/​home/​hornbeck</​code>​
  
 ==== Monter un répertoire distant, navigation via sftp (secure file transfer protocol) ==== ==== Monter un répertoire distant, navigation via sftp (secure file transfer protocol) ====
Ligne 150: Ligne 150:
 <box 15ex round left #​eeeeff>​**[[#​Konqueror]]**</​box>​ <box 15ex round left #​eeeeff>​**[[#​Konqueror]]**</​box>​
 <box 15ex round left #​eeeeff>​**[[#​Dolphin]]**</​box>​ <box 15ex round left #​eeeeff>​**[[#​Dolphin]]**</​box>​
 +</​box>​
 +<box 100% center #FFFFFF>
 <box 15ex round left #​eeeeff>​**[[#​WinSCP]]**</​box>​ <box 15ex round left #​eeeeff>​**[[#​WinSCP]]**</​box>​
 <box 15ex round left #​eeeeff>​**[[#​FilleZilla]]**</​box>​ <box 15ex round left #​eeeeff>​**[[#​FilleZilla]]**</​box>​
 </​box>​ </​box>​
-FIXME à voir sinon mettre en puce. 
  
 === Nautilus === === Nautilus ===
Ligne 180: Ligne 181:
  
 Le nouveau navigateur de [[:KDE]] permet de faire ça très simplement.\\ Le nouveau navigateur de [[:KDE]] permet de faire ça très simplement.\\
-Cliquez sur le raccourci ''​Réseau'',​ puis ''​Ajoutez un dossier réseau''​. Remplissez ensuite les champs demandés. ​(n'​oubliez pas que votre adresse se trouve par ''​ifconfig'',​ à ''​inet adr:​xxx.xxx.x.xx''​ dans ''​eth1''​ en général FIXME Utile ici ? Info peut-être à mettre plus avant dans la page), et pensez ​à mettre la racine (dossier **/**) comme dossier d'​accès pour pouvoir rentrer sur l'​intégralité de l'​ordinateur distant.+Cliquez sur le raccourci ''​Réseau'',​ puis ''​Ajoutez un dossier réseau''​. Remplissez ensuite les champs demandés. ​Pensez ​à mettre la racine (dossier **/**) comme dossier d'​accès pour pouvoir rentrer sur l'​intégralité de l'​ordinateur distant.
  
 Il est également possible de rentrer l'​adresse et d'​enregistrer le lien dans ses emplacements favoris : Il est également possible de rentrer l'​adresse et d'​enregistrer le lien dans ses emplacements favoris :
Ligne 246: Ligne 247:
 <​code>​ssh-copy-id -i ~/​.ssh/​id_rsa.pub <​username>​@<​ipaddress></​code>​ <​code>​ssh-copy-id -i ~/​.ssh/​id_rsa.pub <​username>​@<​ipaddress></​code>​
 ou si le port est différent du port standard 22 : ou si le port est différent du port standard 22 :
-</code>​ssh-copy-id -i ~/​.ssh/​id_rsa.pub "<​username>​@<​ipaddress>​ -p <​num_port></​code>​FIXME faudrait homogénéiser c'est -p à la fin ou -P au début, pareil ?+<​code>​ssh-copy-id -i ~/​.ssh/​id_rsa.pub "<​username>​@<​ipaddress>​ -p <​num_port></​code>​
  
 Vous devrez alors donner le mot de passe //​utilisateur//​ de cet ordinateur. Après que votre clé publique ait été ajoutée, vous devenez un hôte de confiance. Vous devrez alors donner le mot de passe //​utilisateur//​ de cet ordinateur. Après que votre clé publique ait été ajoutée, vous devenez un hôte de confiance.
Ligne 272: Ligne 273:
 Vous pouvez avoir avec SSH les deux modes d'​authentifications actifs en même temps, par mot de passe et par clés. Vous pouvez avoir avec SSH les deux modes d'​authentifications actifs en même temps, par mot de passe et par clés.
  
-Vous pouvez vouloir neutraliser l'​authentification par mot de passe pour des raisons de sécurité ​en plaçant dans le fichier de configuration **/​etc/​ssh/​sshd_config** ​la ligne ''​PasswordAuthentication''​ à ''​no''​ (et ne **pas** avoir ''​UsePAM''​ à ''​yes'',​ ou autrement dit en mettant également ''​UsePAM''​ à ''​no''​ FIXME précision sur UsePAM dans une note peut-être).\\ +Vous pouvez vouloir neutraliser l'​authentification par mot de passe pour des raisons de sécurité, pour cela il faut modifier ​le fichier de configuration **/​etc/​ssh/​sshd_config** de la manière suivante :
-N'​oubliez pas de [[#​relancer]] le service ssh sur votre serveur après avoir changé ​la configuration+
  
-== Vulnérabilité des anciennes clés ==+- A la ligne ''​PasswordAuthentication''​ mettre ''​no''​
  
-Au mois de mai 2008 a été découvert une faiblesse dans la génération des clés par OpenSSL des packages Debian et dérivés tels qu'Ubuntu. Voir la partie ​"Correction vulnérabilité SSH" ​pour plus de détails mais en gros si vous avez généré vos clés sur entre 2006 et mai 2008, il faut générer de nouvelles clés après avoir mis à jour le système...\\ +- A la ligne ''​UsePAM''​ mettre ​"no"
-FIXME Pas de section Correction vulnérabilité SSH. manque peut-être un lien bug. Je remplacerai par \\ +
-Au mois de mai 2008 a été découvert une faiblesse dans la génération des clés par OpenSSL des packages Debian et dérivés tels qu'​Ubuntu. Pour résumé, si vous avez généré vos clés entre 2006 et mai 2008, il faut en créer de nouvelles après avoir mis à jour le système.\\+
  
 +N'​oubliez pas de [[#​relancer]] le service ssh sur votre serveur après avoir changé la configuration.
 +
 +== Vulnérabilité des anciennes clés ==
 +
 +Au mois de mai 2008 a été découvert une faiblesse dans la génération des clés par OpenSSL des packages Debian et dérivés tels qu'​Ubuntu. Pour résumer, si vous avez généré vos clés entre 2006 et mai 2008, il faut en créer de nouvelles après avoir mis à jour le système. Pensez alors à bien rediffuser vos clés.
  
 == Mot de passe toujours demandés avec authentification par clés == == Mot de passe toujours demandés avec authentification par clés ==
Ligne 292: Ligne 295:
  
 Si ce n'est toujours pas le cas, c'est que le serveur doit être configuré en mode de sécurité strict (c'est le cas par défaut sur Ubuntu).\\ Si ce n'est toujours pas le cas, c'est que le serveur doit être configuré en mode de sécurité strict (c'est le cas par défaut sur Ubuntu).\\
-Sur le serveur dans le fichier **/​etc/​ssh/​sshd_config**,​ la ligne ''​StrictModes yes''​ indique que le serveur va être très pointilleux sur les droits du compte sur lequel on se connecte en ssh. Sur le client, dans **/​etc/​ssh/​ssh_config**,​ rajoutez la ligne ''​PreferredAuthentications publickey''​ puis FIXME sur la machine serveur ​saisissez:+Effectuez les opérations suivantes : 
 + 
 +Sur le serveur ​: \\ 
 +  * dans le fichier **/​etc/​ssh/​sshd_config**,​ la ligne ''​StrictModes yes''​ indique que le serveur va être très pointilleux sur les droits du compte sur lequel on se connecte en ssh.\\  
 +  ​* saisissez ​ensuite les commandes suivantes
 <​code>​chmod go-w ~/ <​code>​chmod go-w ~/
 chmod 700 ~/.ssh chmod 700 ~/.ssh
 chmod 600 ~/​.ssh/​authorized_keys</​code>​ chmod 600 ~/​.ssh/​authorized_keys</​code>​
 +
 +  * Sur le client, dans **/​etc/​ssh/​ssh_config**,​ rajoutez la ligne ''​PreferredAuthentications publickey''​.\\
  
 == Gestion des clés == == Gestion des clés ==
Ligne 329: Ligne 338:
 Si vous souhaitez vous connecter par ssh avec une clef publique sur un compte dont le home est chiffré, il est important de faire attention à ce que sur le serveur le fichier/​dossier **.ssh/​authorized_keys** soit à la fois dans le home chiffré et déchiffré. En effet si le fichier authorized_keys est dans le home sous forme chiffré (.private), open_ssh ne pourra pas lire la clef publique attendue. Il faut donc créer un dossier .ssh et y mettre le fichier authorized_keys quand le home est démonté donc chiffré. Cependant, si vous ne le laissez pas aussi dans le home déchiffré et donc monté, la connexion ssh se fera avec la clef publique mais le home ne sera pas déchiffré automatiquement. Si vous souhaitez vous connecter par ssh avec une clef publique sur un compte dont le home est chiffré, il est important de faire attention à ce que sur le serveur le fichier/​dossier **.ssh/​authorized_keys** soit à la fois dans le home chiffré et déchiffré. En effet si le fichier authorized_keys est dans le home sous forme chiffré (.private), open_ssh ne pourra pas lire la clef publique attendue. Il faut donc créer un dossier .ssh et y mettre le fichier authorized_keys quand le home est démonté donc chiffré. Cependant, si vous ne le laissez pas aussi dans le home déchiffré et donc monté, la connexion ssh se fera avec la clef publique mais le home ne sera pas déchiffré automatiquement.
  
-La meilleur solution est de créer des liens virtuels vers un dossier qui n'est pas soumis au chiffrage/​déchiffrage comme expliqué [[https://​rohieb.wordpress.com/​2010/​10/​09/​84/​|ici]] ​+La meilleur solution est de créer des liens virtuels vers un dossier qui n'est pas soumis au chiffrage/​déchiffrage comme expliqué [[https://​rohieb.wordpress.com/​2010/​10/​09/​84/​|ici]]
  
 == Authentification ssh avec plusieurs clés privées == == Authentification ssh avec plusieurs clés privées ==
Ligne 362: Ligne 371:
  
 ===== Configuration du serveur SSH ===== ===== Configuration du serveur SSH =====
-La configuration par défaut du serveur SSH sous Ubuntu est suffisante pour fonctionner correctement. Le fichier de configuration à [[:​tutoriel:​comment_editer_un_fichier[éditer avec les droits d'​administration]] est  **/​etc/​ssh/​sshd_config**.+La configuration par défaut du serveur SSH sous Ubuntu est suffisante pour fonctionner correctement. Le fichier de configuration à [[:​tutoriel:​comment_editer_un_fichier|éditer avec les droits d'​administration]] est  **/​etc/​ssh/​sshd_config**.
  
 Tableau des principales directives à modifier le cas échéant : Tableau des principales directives à modifier le cas échéant :
  • utilisateurs/sx1/ssh_bases.1332330142.txt.gz
  • Dernière modification: Le 21/03/2012, 12:42
  • par fabux