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 [20/05/2013 12:19]
captnfab [Commandes annexes]
doc:reseau:ssh [07/01/2014 20:58]
bendia [Installation]
Ligne 1: Ligne 1:
-====== SSH - En Détail ​======+====== 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 !))
  
-  * Objet : configuration ssh +=== Nota ===
-  * Niveau requis : DÉBUTANT +
-  * Commentaires : // Configurer son ssh. // +
-  * Débutant, à savoir : [[manuel:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)+
  
-===== Installation =====+Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
  
-L'​installation est d'une simplicité déconcertante 
-        # aptitude install ssh 
-Et voilà le serveur est maintenant prêt à recevoir les premières connexions sur le port 22 
  
-SSH est configuré avec un niveau de sécurité très faible, pour ce connecter en local à un PC distant il suffit de faire comme ceci. 
-        $ ssh user@192.168.1.x 
-        mot_de_passe 
-Remplacer //user// par votre login sur le second PC et le //x// par la véritable **ip** de votre machine hôte, vous devrez répondre à la question par //yes// et saisir votre mot de passe de session. 
  
-**ATTENTION !** \\ 
-Je vous recommande de ne pas exporter cette connection SSH tel quelle sur le net… Il y a des malins qui force le passage pour entrer chez vous, donc si vous voulez exporter une session SSH via un PC a 18 000 km de chez vous faites une configuration avancée. 
  
 +===== Connexion par clés asymétriques =====
  
- +==== RSA ou DSA ? ====
-===== Configuration avancée ===== +
-===== RSA ou DSA ? =====+
  
  
 Peu importe. Peu importe.
-===== Générer une clé =====+ 
 +==== Générer une clé ====
  
 //Exemple avec une clé DSA.// //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. 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.
  
-===== Sécuriser ​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 ==== 
  
-        $ fish://​user@192.168.1.x+=== Konqueror === 
 + 
 +<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 !
Ligne 102: Ligne 110:
 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 ​crypté ​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.
  
-==== Détail sur la ligne de commande SSH ====+=== Détail sur la ligne de commande SSH ===
  
   *ssh : invoque le protocole   *ssh : invoque le protocole
Ligne 119: Ligne 125:
   *user@80.80.80.80 : indique avec quelle user et sur quelle ip on va établir la connection.   *user@80.80.80.80 : indique avec quelle user et sur quelle ip on va établir la connection.
  
-===== Commandes annexes =====sshfs+===== Commandes annexes ===== 
 + 
 +  * Pour ''​COPIER''​ un fichier sécurisé vous devez vous servir de : [[:​doc:​reseau:​scp|scp]]
  
-  * Pour ''​COPIER'' ​un fichier sécurisé ​vous devez vous servir ​de : [[commande:scp|scp]]+  * Pour ''​MONTER'' ​les fichiers servez-vous de : [[:doc:​reseau:​sshfs|]]
  
-  * Pour ''​MONTER''​ les fichiers servez-vous de : [[commande:​sshfs|]] 
  
-===== Lien forum ===== 
-http://​debian-facile.org/​forum/​viewtopic.php?​id=1583 
doc/reseau/ssh.txt · Dernière modification: 30/05/2023 14:44 par lagrenouille

Pied de page des forums

Propulsé par FluxBB