logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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
doc:reseau:ssh [19/08/2013 22:29]
captnfab [SSH - TP]
doc:reseau:ssh [07/01/2014 21:29]
bendia [Différents usages de ssh]
Ligne 1: Ligne 1:
-====== SSH - TP ======+====== SSH ======
  
 +  * Objet : tout savoir sur SSH
 +  * Niveau requis : {{tag>​avisé}}
 +  * Commentaires : //​Administrer son serveur à distance, établir un tunnel sécurisé pour relayer des ports, etc... //
 +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
 +  * Suivi : {{tag>​en-chantier}}
 +    * Mis en forme par bendia le 7/01/2113 à partir des différents tuto
 +    * Testé par <...> le <...> FIXME
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=1583 | Lien vers le forum concernant ce tuto]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-  * Objets : Connexion à SSH par clés, et relai de ports. +=== Nota ===
-  * Niveau requis : DÉBUTANT AVISÉ +
-  * Commentaires : //Connexion à SSH par clés, et relai de ports.// +
-  * Débutant, à savoir : [[manuel:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) +
-  * Forum : [url=http://​debian-facile.org/​forum/​viewtopic.php?​id=1583]Remarques,​ corrections,​ etc.[/url]+
  
-===== Installation =====+Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
  
-On supposera ici que vous avez déjà suivi le tuto [[:​commande:​ssh|ssh]] et que vous savez donc les bases.+===== Introduction =====
  
 + ​**ssh** (Secure SHell) est un protocole de communication réseau et une application qui permettent de crypter et d'​authentifier les informations échangées. Il est donc plus difficile de les intercepter.
 +
 +===== Une application client/​serveur =====
 +
 +**ssh** fonctionne sur le mode client/​serveur.
 +
 +Il y a :
 +  * d'un côté le serveur, la machine sur laquelle on veut se connecter, et qui //écoute// par défaut sur le port 22. On peu considérer que c'est la machine à laquelle on a pas d'​accès physique en tant qu'​utilisateur.
 +  * et de l'​autre côté le client, la machine depuis laquelle on veut établir la connexion. C'est la machine locale où se trouve la clavier qu'on utilise.
 +
 +Nous allons donc découper cette documentation en plusieurs pages
 +  - la partie cliente : comment faire pour vous connecter à un serveur **ssh** existant,
 +  - la partie serveur : comment configurer votre machine pour qu'​elle puisse jouer le rôle de serveur **ssh**.
 +
 +===== Différents usages de ssh =====
 +
 +**ssh** peut être utilisé de différentes façon : 
 +
 +  * Pour ouvrir un shell sur une machine distante,
 +  * Pour transférer des fichiers directement avec [[doc:​reseau:​scp|la commande SCP]] ou par l'​intermédiaire du protocole [[doc:​reseau:​sftp|SFTP]],​
 +  * Pour monter un système de fichier avec [[doc:​reseau:​sshfs|La commande SSHFS]],
 +  * Pour protéger des communications transitant en clair : on parle alors de tunnel.
  
 ===== Connexion par clés asymétriques ===== ===== Connexion par clés asymétriques =====
Ligne 25: Ligne 51:
  
 Pourquoi ne pas autoriser les connexions uniquement par clefs privés/​public et interdire les connections standards où les mots de passes passent en clair. Pourquoi ne pas autoriser les connexions uniquement par clefs privés/​public et interdire les connections standards où les mots de passes passent en clair.
 +
 +=== Création de la cle ===
  
 Le but est de se passer du mot de passe qui au niveau sécurité est trop faible, nous allons généré une clée cryptée unique pour votre PC. Le but est de se passer du mot de passe qui au niveau sécurité est trop faible, nous allons généré une clée cryptée unique pour votre PC.
-        $ ssh-keygen -t dsa+<code user>ssh-keygen -t dsa</​code>​ 
 +<​code>​Generating public/​private dsa key pair. 
 +Enter file in which to save the key (/​home/​user/​.ssh/​id_dsa):​ /​home/​user/​.ssh/​nom_fichier 
 +Enter passphrase (empty for no passphrase):​ (mettre une passphrase qui sera demandée à chaque connexion - ou rien si c'est pas nécessaire pour vous) 
 +</​code>​ 
 +Vous validez 2 fois et vous obtiendrez le résultat en détail de la création de votre cle dsa. 
 + 
 +=== Exportation de la cle === 
 Votre clé sera générée en 1024 bits dans votre dossier /​home/​votre_user/​.ssh/​ pour la mettre en place il vous suffit de l'​exporter sur votre pc distant. Votre clé sera générée en 1024 bits dans votre dossier /​home/​votre_user/​.ssh/​ pour la mettre en place il vous suffit de l'​exporter sur votre pc distant.
  
-Vérifiez que la clef dans le fichier se termine bien par votre adresse ip ( Ip Internet ) et non par le nom de votre poste. +<code user>ssh-copy-id -i /​home/​user/​.ssh/​id_dsa.pub user@192.168.x.x</​code>​ 
-Si ce n'est pas le cas, remplacer le nom par votre adresse ip. +  mot_de_passe ​(serveur distant)
-        $ ssh-copy-id -i /​home/​user/​.ssh/​id_dsa.pub user@192.168.1.x +
-        mot_de_passe+
  
 Voilà votre clé est en place, maintenant passons à la sécurité de votre système. Voilà votre clé est en place, maintenant passons à la sécurité de votre système.
Ligne 39: Ligne 73:
 ==== Restreindre les connexions à SSH ==== ==== Restreindre les connexions à SSH ====
  
-Il suffit d'​éditer le fichier sshd_config en root sur le PC distant. Le fichier se trouve dans le dossier ///​etc/​ssh///​ +Il suffit d'​éditer le fichier ​''​sshd_config'' ​en root sur le PC distant. Le fichier se trouve dans le dossier ///​etc/​ssh///​ 
-        # ​nano /​etc/​ssh/​sshd_config+<code root>nano /​etc/​ssh/​sshd_config</​code>​
 Puis de modifier les arguments suivant «le cas est pris pour une connection __uniquement par clé__» : Puis de modifier les arguments suivant «le cas est pris pour une connection __uniquement par clé__» :
  
-    ​PermitRootLogin no -> évite la connection ​root « plus que recommandé » +<code bash>PermitRootLogin no évite la connexion ​root « plus que recommandé » 
-    RSAAuthentication yes -> active la reconnaissance RSA +RSAAuthentication yes active la reconnaissance RSA 
-    PubkeyAuthentication yes +PubkeyAuthentication yes 
-    AuthorizedKeysFile .ssh/​authorized_keys ​-> va uniquement chercher la clé sur ce fichier +AuthorizedKeysFile .ssh/​authorized_keys ​va uniquement chercher la clé sur ce fichier 
-    PasswordAuthentication no -> désactive la connection ​par mot de passe +PasswordAuthentication no désactive la connexion ​par mot de passe 
-    PermitEmptyPasswords no -> désactive les mots de passe vide +PermitEmptyPasswords no désactive les mots de passe vide 
-    UsePAM no -> désactive la connection par mot de passe +UsePAM no désactive la connection par mot de passe 
-    AllowUsers votrelogin secondlogin ​-> restreint l'​accès à votre login uniquement +AllowUsers votrelogin secondlogin ​restreint l'​accès à votre login uniquement 
-    DenyUsers test guest admin root snort apache nobody ​-> interdire l'​accès à certains users, pour les paranos... +DenyUsers test guest admin root snort apache nobody ​interdire l'​accès à certains users, pour les paranos... 
-    MaxStartups 1 -> limite la connection, normalement 6 par défaut +MaxStartups 1 limite la connexion, normalement 6 par défaut</​code>​
- +
-  * Restreindre la connexion à un utilisateur+
  
 +=== Restreindre la connexion à un utilisateur ===
  
 Moins de monde autorisé à se connecter via ssh, moins de risques il y aura… Moins de monde autorisé à se connecter via ssh, moins de risques il y aura…
  
-    AllowUsers monuserquipeutseconnecter+    AllowUsers ​**monuserquipeutseconnecter**
 Il est possible de spécifier plusieurs utilisateurs ou un masque d'​expression régulière,​ je vous laisse lire la doc pour un paramétrage plus fin Il est possible de spécifier plusieurs utilisateurs ou un masque d'​expression régulière,​ je vous laisse lire la doc pour un paramétrage plus fin
  
-        * Restreindre la connexion à un groupe+=== Restreindre la connexion à un groupe ​=== 
 dans le même esprit que le paramètre ci-dessus on peut autoriser directement tous les utilisateurs d'un groupe. dans le même esprit que le paramètre ci-dessus on peut autoriser directement tous les utilisateurs d'un groupe.
  
-    AllowGroups mongroupadmin+    AllowGroups ​**mongroupadmin**
 Les options qu'il est conseillé de changer dans un premier temps sont : Les options qu'il est conseillé de changer dans un premier temps sont :
  
-        ​* Le port ( défaut ​22 )+=== Le port === 
 + 
 +  ​* Le port **22** # C'est le port par défaut du service SSH
 Nous allons le mettre ici à 10010 Nous allons le mettre ici à 10010
-    Port 10010+    Port **10010** 
 Une fois configuré il vous suffit de relancer SSH, à faire en root : Une fois configuré il vous suffit de relancer SSH, à faire en root :
-        # service ssh restart+<code root>service ssh restart</​code>​
  
 ==== Navigation via SSH ==== ==== Navigation via SSH ====
  
 Pour voir les fichiers avec konqueror et Nautilus rien de plus simple Pour voir les fichiers avec konqueror et Nautilus rien de plus simple
 +
 === Konqueror === === Konqueror ===
  
-        $ fish://​user@192.168.1.x+<code user>fish://​user@192.168.x.x</​code>​
         ​         ​
 === Nautilus === === Nautilus ===
  
-        $ ssh://​user@192.168.1.x:22+<code user>ssh://​user@192.168.x.x:22</​code>​
  
 === Terminal === === Terminal ===
  
 Pour te connecter sur un serveur ssh qui n'a pas le port 22 par défaut. Pour te connecter sur un serveur ssh qui n'a pas le port 22 par défaut.
-   ssh mattux@mon.serveur.org -p 10010+<code user>ssh mattux@mon.serveur.org -p 10010</​code>​
  
 -p **10010** bien sûr à adapter au port ouvert, son numéro ! -p **10010** bien sûr à adapter au port ouvert, son numéro !
  
 Avec la configuration de base le mot de passe de la session vous sera demandé, avec la clé rien ne vous sera demandé. Avec la configuration de base le mot de passe de la session vous sera demandé, avec la clé rien ne vous sera demandé.
- 
- 
  
 ==== Tunnel chiffré en SSH ==== ==== Tunnel chiffré en SSH ====
  
 Il se peut que vous vouliez établir une connexion distante pour transiter des données de manière 100% transparente et sécurisée,​ nous allons donc établir un tunnel ssh. Il se peut que vous vouliez établir une connexion distante pour transiter des données de manière 100% transparente et sécurisée,​ nous allons donc établir un tunnel ssh.
-        #  ​ssh -L 5901:​localhost:​5900 user@80.80.80.80+<code root>ssh -L 5901:​localhost:​5900 user@80.80.80.80</​code>​
 Cette technique est très utile pour relier en local un bon nombre d'​utilisation,​ comme sur kde distant, un serveur smtp personnel, une boite mail ( pop ou imap ) personnelle,​ un bon nombre d'​utilisations ont recours à cette technique. Cette technique est très utile pour relier en local un bon nombre d'​utilisation,​ comme sur kde distant, un serveur smtp personnel, une boite mail ( pop ou imap ) personnelle,​ un bon nombre d'​utilisations ont recours à cette technique.
  
Ligne 113: Ligne 149:
 ===== Commandes annexes ===== ===== Commandes annexes =====
  
-  * Pour ''​COPIER''​ un fichier sécurisé vous devez vous servir de : [[commande:scp|scp]]+  * Pour ''​COPIER''​ un fichier sécurisé vous devez vous servir de : [[:doc:reseau:scp|scp]]
  
-  * Pour ''​MONTER''​ les fichiers servez-vous de : [[commande:sshfs|]]+  * Pour ''​MONTER''​ les fichiers servez-vous de : [[:doc:reseau:sshfs|]]
  
  
doc/reseau/ssh.txt · Dernière modification: 30/05/2023 14:44 par lagrenouille

Pied de page des forums

Propulsé par FluxBB