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
Prochaine révision Les deux révisions suivantes
ssh [Le 15/01/2020, 14:56]
krodelabestiole [Installation du serveur SSH]
ssh [Le 01/01/2021, 19:14]
chamblard
Ligne 1: Ligne 1:
 {{tag>​administration sécurité serveur}} {{tag>​administration sécurité serveur}}
----- 
  
 ====== SSH ====== ====== SSH ======
Ligne 72: Ligne 71:
  
 == Clients pour machines qui ne sont pas sous Linux == == Clients pour machines qui ne sont pas sous Linux ==
 +<note tips>
 +Sous windows10 vous pouvez installer une Ubuntu via [[wpfr>​Windows_Subsystem_for_Linux|WSL]],​ vous aurez alors accès à un vrai client SSH :)
 +</​note>​
  
-Si vous devez prendre le contrôle depuis un poste équipé de Windows vous pouvez installer [[http://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​|PuTTY]] qui est disponible sous licence MIT (une licence libre comparable à la licence BSD).+Si vous devez prendre le contrôle depuis un poste équipé de Windows vous pouvez installer [[http://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​|PuTTY]] qui est disponible sous licence MIT (une licence libre comparable à la licence BSD), openssh est installable dans le shell Windows depuis la version 1809 https://​docs.microsoft.com/​fr-fr/​windows-server/​administration/​openssh/​openssh_install_firstuse.
  
 Si vous voulez établir une connexion SSH depuis un smartphone Blackberry(r),​ vous pouvez installer [[http://​bbssh.org/​|bbssh]],​ qui est sous licence libre GPLv2, les sources sont fournies. Si vous voulez établir une connexion SSH depuis un smartphone Blackberry(r),​ vous pouvez installer [[http://​bbssh.org/​|bbssh]],​ qui est sous licence libre GPLv2, les sources sont fournies.
Ligne 115: Ligne 117:
 ==== Outil graphique pour les connexions SSH ==== ==== Outil graphique pour les connexions SSH ====
  
-Beaucoup d'​outils avec interface graphique gérant des connexions en général sont disponibles,​ dont certains gèrent les connexions SSH. Par exemple : +[[:​remmina|Remmina]] ​est actuellement ​l'outil le plus complet pour la gestion des bureaux ​à distance.
-  * [[:​remmina|Remmina]] ​: Ce visionneur de bureaux distants gère les connexions SSH avec mot de passe ou clef d'​identification. En revanche, il ne crée pas directement de tunnel (à ce jour) lors de l'établissement de la connexion (sauf pour ouvrir une connexion VNC). +
- +
-L'​outil avec interface graphique, [[:​gstm|GSTM]],​ quant à lui, permet de gérer les tunnels mais n'​établit pas la connexion en mode Terminal.+
  
 ==== 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 ==== 
Ligne 209: Ligne 208:
  
 <note important>​Lorsque l'on copie des fichiers ou des répertoires sur d'​autres machines, ne pas oublier que les fichiers ou répertoires deviendront propriété du compte avec lequel on se connecte à distance. Pour préserver les propriétaire et groupe de chaque fichier ou répertoire,​ il sera donc utile de recourir à un logiciel tel que [[:​tar|tar]] pour enregistrer l'​intégralité des informations relatives à ce que l'on transfère.</​note>​ <note important>​Lorsque l'on copie des fichiers ou des répertoires sur d'​autres machines, ne pas oublier que les fichiers ou répertoires deviendront propriété du compte avec lequel on se connecte à distance. Pour préserver les propriétaire et groupe de chaque fichier ou répertoire,​ il sera donc utile de recourir à un logiciel tel que [[:​tar|tar]] pour enregistrer l'​intégralité des informations relatives à ce que l'on transfère.</​note>​
-==== Monter un répertoire distant, navigation via sftp (secure file transfer protocol) ====+ 
 +==== Monter un répertoire distant, navigation via SFTP (Secure File Transfer Protocol) ====
  
 [[wpfr>​SSH_file_transfer_protocol|SFTP]] est une autre méthode pour accéder à ses fichiers via SSH. Au lieu de travailler fichier par fichier, il est possible grâce à cette méthode de naviguer dans ses fichiers depuis un client SFTP. Ce type d'​accès est possible grâce à des outils comme [[#​Nautilus]],​ [[#​Konqueror]],​ [[#​Dolphin]],​ [[#​WinSCP]],​ [[#​Pcmanfm]] ​ ou [[#​FileZilla]],​ dont la mise en œuvre est décrite dans les sections suivantes. [[wpfr>​SSH_file_transfer_protocol|SFTP]] est une autre méthode pour accéder à ses fichiers via SSH. Au lieu de travailler fichier par fichier, il est possible grâce à cette méthode de naviguer dans ses fichiers depuis un client SFTP. Ce type d'​accès est possible grâce à des outils comme [[#​Nautilus]],​ [[#​Konqueror]],​ [[#​Dolphin]],​ [[#​WinSCP]],​ [[#​Pcmanfm]] ​ ou [[#​FileZilla]],​ dont la mise en œuvre est décrite dans les sections suivantes.
Ligne 293: Ligne 293:
 === Description === === Description ===
  
-Autrefois tout le monde employait l'​authentification typique par le principe //​identifiant - mot de passe//. Cependant si quelqu'​un connaît votre mot de passe ou le découvre au moyen d'une attaque la sécurité est compromise. De plus utiliser un mot de passe différent pour chaque serveur et l'​entrer à chaque connexion peut s'​avérer contraignant.+Autrefois tout le monde employait l'​authentification typique par le principe //​identifiant - mot de passe//. Cependant si quelqu'​un connaît votre mot de passe ou le découvre au moyen d'une attaque la sécurité est compromise. De plusutiliser un mot de passe différent pour chaque serveur et l'​entrer à chaque connexion peut s'​avérer contraignant.
  
 Pour être débarrassé des ces problèmes, SSH propose un système d'​authentification par clé publique/​privée au lieu des mots de passe « simples ». Pour être débarrassé des ces problèmes, SSH propose un système d'​authentification par clé publique/​privée au lieu des mots de passe « simples ».
Ligne 326: Ligne 326:
 **~/​.ssh/​id_rsa.pub** pour la clé publique et **~/​.ssh/​id_rsa** pour la clé privée. **~/​.ssh/​id_rsa.pub** pour la clé publique et **~/​.ssh/​id_rsa** pour la clé privée.
  
 +
 +Pour que votre ssh-agent reconnaisse cette paire de clef, il faut utiliser la commande ssh-add :
 +<​code>​ssh-add
 +#ou plus directement ​
 +ssh-add /​chemin-complet/​vers-la-cle/​nom-cle</​code>​
 +Vous pouvez également vérifier la liste des paires de clefs existantes avec l'​option -l (-list) :
 +<​code>​ssh-add -l</​code>​
 +(Si cette commande ressort : <​code>​The agent has no identities.</​code>​ alors aucune clef n'est actuellement prise en compte. Il faut recommencer les étapes ci-dessus.)
 +<note tip>​pistes pour débugger : 
 +  * forcer l'​utilisation uniquement de clefs dans la commande ssh : ssh **-o PubkeyAuthentication=yes -o PreferredAuthentications=publickey**
 +  * utiliser les options **-v** ou **-vv** ou **-vvv** dans le commande ssh 
 +</​note>​
 Il faut maintenant envoyer au serveur votre clé publique pour qu'il puisse vous chiffrer des messages. Il faut maintenant envoyer au serveur votre clé publique pour qu'il puisse vous chiffrer des messages.
  
 <​note>​**En résumé** (car les paragraphes ci-dessous utilisant des scripts peuvent sembler confus à certains) <​note>​**En résumé** (car les paragraphes ci-dessous utilisant des scripts peuvent sembler confus à certains)
-  * La clé publique du client ​doit se trouver dans le fichier $HOME/​.ssh/​authorized_keys du serveur. +  * Coté client ​Il faut que le client ait mis sa clé privée en $HOME/.ssh/ (côté client). 
-  * Il faut que le client ait mis sa clé privée en $HOME/.ssh/ (côté client). +  * Coté client : la clé doit etre "​enregistrer/​déclarée"​ à l'​agent ssh (ssh-add) 
-  * Le répertoire $HOME/.ssh doit appartenir (chown) au propriétaire de $HOME et être en protection 700 (interdit aux autres). +  * Coté client : Le répertoire $HOME/.ssh doit appartenir (chown) au propriétaire de $HOME et être en protection 700 (interdit aux autres). 
-  * Sur le serveur il vaut mieux refuser l'​accès par mot de passe ("​PasswordAuthentication no" dans /​etc/​ssh/​sshd_config du serveur) ​+  * Coté serveur : La clé publique du client doit se trouver dans le fichier $HOME/​.ssh/​authorized_keys du serveur. 
 +  * Coté serveur ​il vaut mieux refuser l'​accès par mot de passe ("​PasswordAuthentication no" dans /​etc/​ssh/​sshd_config du serveur) ​
 </​note>​ </​note>​
  
Ligne 491: Ligne 504:
  
 ===== Configuration du client SSH ===== ===== Configuration du client SSH =====
-Le client peut aussi être configuré… via le fichier **/etc/ssh/​ssh/​ssh_config**+Le client peut aussi être configuré… via le fichier **/​etc/​ssh/​ssh_config**
 Il est notamment intéressant d'​ajouter Il est notamment intéressant d'​ajouter
 <​code>​ <​code>​
Ligne 504: Ligne 517:
   * [[http://​fr.openclassrooms.com/​informatique/​cours/​reprenez-le-controle-a-l-aide-de-linux/​la-connexion-securisee-a-distance-avec-ssh|explications et tutoriel détaillé sur OpenClassRooms]]   * [[http://​fr.openclassrooms.com/​informatique/​cours/​reprenez-le-controle-a-l-aide-de-linux/​la-connexion-securisee-a-distance-avec-ssh|explications et tutoriel détaillé sur OpenClassRooms]]
   * [[:cssh]] : Cluster SSH   * [[:cssh]] : Cluster SSH
-  * [[http://​www.ssi.gouv.fr/​uploads/​2014/​01/​NT_OpenSSH.pdf|note ministérielle du 17 août 2015]] : Recommandations pour un usage sécurisé d(Open)SSH+  * [[http://​www.ssi.gouv.fr/​uploads/​2014/​01/​NT_OpenSSH.pdf|note ministérielle du 17 août 2015]] : Recommandations pour un usage sécurisé d'(Open)SSH
   * [[https://​www.schneier.com/​blog/​archives/​2014/​04/​heartbleed.html|page du blog de l'​expert en sécurité Bruce Schneier sur le bug Heartbleed]]   * [[https://​www.schneier.com/​blog/​archives/​2014/​04/​heartbleed.html|page du blog de l'​expert en sécurité Bruce Schneier sur le bug Heartbleed]]
 <​del> ​ * [[http://​www.ubuntu.com/​usn/​usn-2165-1/​|page d'​ubuntu.com sur OpenSSL vulnerabilities]] <​del> ​ * [[http://​www.ubuntu.com/​usn/​usn-2165-1/​|page d'​ubuntu.com sur OpenSSL vulnerabilities]]
   * [[http://​heartbleed.com/​|page sur le bug majeur d'​avril 2014, nommée heartbleed]]</​del>​   * [[http://​heartbleed.com/​|page sur le bug majeur d'​avril 2014, nommée heartbleed]]</​del>​
   * [[http://​www.it-connect.fr/​cours-tutoriels/​administration-systemes/​linux/​ssh/​|Tutoriels sur l'​utilisation et la configuration avancée de SSH]] sur IT-Connect   * [[http://​www.it-connect.fr/​cours-tutoriels/​administration-systemes/​linux/​ssh/​|Tutoriels sur l'​utilisation et la configuration avancée de SSH]] sur IT-Connect
-  * [[:​ssh_avance]]+  ​* [[https://​wiki.visionduweb.fr/​index.php?​title=SSH|Notes complémentaires sur la configuration d'un serveur SSH]] : Consulter le wiki de Vision du web. 
 +  ​* [[:​ssh_avance]] ​Fixme !
  
-//​Contributeurs:​ [[:​utilisateurs:​sx1]],​ [[:​utilisateurs:​krodelabestiole]]//​+//​Contributeurs:​ [[:​utilisateurs:​sx1]],​ [[:​utilisateurs:​krodelabestiole]], [[:​utilisateurs:​Zer00CooL]]//
  • ssh.txt
  • Dernière modification: Le 27/02/2024, 11:53
  • par bruno