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
doc:reseau:ssh [07/01/2014 21:30]
bendia [Différents usages de ssh]
doc:reseau:ssh [30/05/2023 14:44] (Version actuelle)
lagrenouille [ssh : shell distant sécurisé]
Ligne 1: Ligne 1:
-====== ​SSH ======+====== ​ssh : shell distant sécurisé ​======
  
   * Objet : tout savoir sur SSH   * Objet : tout savoir sur SSH
-  * Niveau requis ​: {{tag>avisé}} +  * Suivi : {{tag> à-placer}} 
-  * Commentaires : //​Administrer son serveur ​à distance, établir un tunnel sécurisé pour relayer des ports, etc... // +    * Création ​par [[user>bendia]] le 07/01/2013 à partir des différents ​tutos 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) +    * Complété ​par [[user>captnfab]] ​le 09/02/2021 à l'aide de sa muse 
-  * Suivi : {{tag>en-chantier}} +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=1583 |ici]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
-    * 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 !))+
  
-=== Nota ===+===== Introduction =====
  
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les ​une fois le problème corrigé ​ou le champ rempli !+**SSH** est l'​outil incontournable si vous avez une machine (ou plus) sous Linux((Ce qui est probablement ​le cas si vous lisez ceci…)).
  
-===== Introduction =====+//SSH// signifie (Secure SHell). En pratique, c'est un protocole et des outils qui vous permettent de lancer des commandes ou copier des fichiers à distance sur une autre machine, de manière sécurisée (chiffrée, authentifiée).
  
- ​**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.+===== Théorie: client/​serveur =====
  
-===== Une application client/​serveur ===== +**SSH** fonctionne sur le mode client/​serveur.
- +
-**ssh** fonctionne sur le mode client/​serveur.+
  
 Il y a : Il y a :
-  * d'un côté le serveur, la machine sur laquelle on veut se connecteret 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. +  * 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 peut 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.+  * 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 ​le clavier qu'on utilise.
  
 Nous allons donc découper cette documentation en plusieurs pages Nous allons donc découper cette documentation en plusieurs pages
-  - la partie cliente : comment faire pour vous connecter à un serveur **ssh** existant, +  - [[:​doc:​reseau:​ssh:​client|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**.+  - [[:​doc:​reseau:​ssh:​serveur|la partie serveur]] : comment configurer votre machine pour qu'​elle puisse jouer le rôle de serveur **SSH**.
  
 ===== Différents usages de ssh ===== ===== Différents usages de ssh =====
  
-**ssh** peut être utilisé de différentes façon :  +**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 ===== +
- +
-==== RSA ou DSA ? ==== +
- +
- +
-Peu importe. +
- +
-==== Générer une clé ==== +
- +
-//Exemple avec une clé DSA.// +
- +
-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. +
-<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. +
- +
-<code user>​ssh-copy-id -i /​home/​user/​.ssh/​id_dsa.pub user@192.168.x.x</​code>​ +
-  mot_de_passe (serveur distant) +
- +
-Voilà votre clé est en place, maintenant passons à la sécurité de votre système. +
- +
-==== 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///​ +
-<code root>​nano /​etc/​ssh/​sshd_config</​code>​ +
-Puis de modifier les arguments suivant «le cas est pris pour une connection __uniquement par clé__» : +
- +
-<code bash>​PermitRootLogin no # évite la connexion root « plus que recommandé » +
-RSAAuthentication yes # active la reconnaissance RSA +
-PubkeyAuthentication yes +
-AuthorizedKeysFile .ssh/​authorized_keys # va uniquement chercher la clé sur ce fichier +
-PasswordAuthentication no # désactive la connexion par mot de passe +
-PermitEmptyPasswords no # désactive les mots de passe vide +
-UsePAM no # désactive la connection par mot de passe +
-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... +
-MaxStartups 1 # limite la connexion, normalement 6 par défaut</​code>​ +
- +
-=== Restreindre la connexion à un utilisateur === +
- +
-Moins de monde autorisé à se connecter via ssh, moins de risques il y aura… +
- +
-    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 +
- +
-=== 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. +
- +
-    AllowGroups **mongroupadmin** +
-Les options qu'il est conseillé de changer dans un premier temps sont : +
- +
-=== Le port === +
- +
-  * Le port **22** # C'est le port par défaut du service SSH +
-Nous allons le mettre ici à 10010 +
-    Port **10010** +
- +
-Une fois configuré il vous suffit de relancer SSH, à faire en root : +
-<code root>​service ssh restart</​code>​ +
- +
-==== Navigation via SSH ==== +
- +
-Pour voir les fichiers avec konqueror et Nautilus rien de plus simple +
- +
-=== Konqueror === +
- +
-<code user>​fish://​user@192.168.x.x</​code>​ +
-         +
-=== Nautilus === +
- +
-<code user>​ssh://​user@192.168.x.x:​22</​code>​ +
- +
-=== Terminal === +
- +
-Pour te connecter sur un serveur ssh qui n'a pas le port 22 par défaut. +
-<code user>ssh mattux@mon.serveur.org -p 10010</​code>​ +
- +
--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é. +
- +
-==== 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. +
-<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. +
- +
-=== Détail sur la ligne de commande SSH === +
- +
-  *ssh : invoque le protocole +
-  *-L invoque de la création d'un tunnel crypté +
-  *5901 : port coté local +
-  *localhost : indique que l'​accès se fera en local de manière transparente +
-  *5900 : port du service distant +
-  *user@80.80.80.80 : indique avec quelle user et sur quelle ip on va établir la connection.+
  
-===== Commandes annexes =====+==== Exécuter des commandes à distance ​==== 
 +cf. la partie //cliente// ci-dessus.
  
-  * Pour ''​COPIER'' ​un fichier ​sécurisé ​vous devez vous servir de : [[:​doc:​reseau:​scp|scp]]+==== Copier des fichiers à distance ==== 
 +Pour copier ​un fichier vous devez vous servir de : 
 +  * [[:​doc:​reseau:​scp|scp]] ​en ligne de commande 
 +  * [[:​doc:​reseau:​sftp|sftp]] aussi en ligne de commande 
 +  * [[:​doc:​reseau:​filezilla|FileZilla]] en GUI
  
-  * Pour ''​MONTER''​ les fichiers servez-vous de : [[:​doc:​reseau:​sshfs|]]+==== Monter un dossier distant ==== 
 +Pour pouvoir accéder à un dossier distant //presque// comme s'il était sur votre machine.
  
 +Pour monter des répertoires distants sur votre machine locale, servez-vous de : [[:​doc:​reseau:​ssh:​sshfs|]]
  
 +==== Redirection sécurisée de ports ====
 +Pour encapsuler vos connexions dans une connexion ssh, voir [[:​doc:​reseau:​ssh:​vpn|VPN avec ssh]].
doc/reseau/ssh.1389126626.txt.gz · Dernière modification: 07/01/2014 21:30 par bendia

Pied de page des forums

Propulsé par FluxBB