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:client [22/06/2011 20:22]
bract
doc:reseau:ssh:client [07/01/2014 21:45]
bendia
Ligne 1: Ligne 1:
-====== ​La commande ​SSH ======+====== SSH coté client======
  
-  * Objet : serveur ​ssh +  * Objet : Utilisation de ssh comme client 
-  * Niveau requis : DÉBUTANT AVISÉ +  * Niveau requis : {{tag>​avisé}} 
-  * Commentaires : //Partager __en toute sécurité__ ​des connections entre pcdistants ou locals.// +  * Commentaires : //Administrer son serveur à distance, établir un tunnel sécurisé pour relayer ​des portsetc... // 
-  * Débutant, à savoir : [[manuel:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) - ainsi que : [[commande:su La commande SU]].+  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) 
 +  * Suivi : {{tag>en-chantier}} 
 +    * Création par <​vous>​ <​date>​ 
 +    * Testé par <...> le <​...>​ 
 +  * 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 === 
 + 
 +Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! 
 + 
 +===== Introduction ===== 
 + 
 +Lorsque vous démarrez un ordinateur, à moins que vous n'ayez configuré de connexion automatique,​ il vous est demandé un nom d'​utilisateur et un mot de passe. \\ 
 +C'est le processus de //login// qui vous permet de vous authentifier en tant qu'​utilisateur de la machine. \\ 
 +//À l'​issue de cette authentification,​ vous avez accès à une interface vous permettant de lancer des commandes, souvent une interface graphique comme [[:​doc:​programmation:​shell:​shell|shell]].//​ 
 + 
 +Le principe ici va être le même : \\ 
 +via un canal sécurisé((mais ça, c'est ssh qui s'en charge via openssl)) vous allez fournir 
 +  - un nom d'​utilisateur et 
 +  - un mot de passe 
 +mais cette fois, depuis votre PC à une machine distante.
  
 ===== Installation ===== ===== Installation =====
  
-<​code ​bash> +Comme d'​habitude,​ ça tient en une ligne : 
-aptitude ​install ​ssh</​code>​+<​code ​root>apt-get ​install ​openssh-client</​code>​
  
-//Easy, is'​n'​t ?// ;-)+==== Utilisation ====
  
-===== Introduction ​=====+Pour pouvoir accéder à une machine via la couche IP (qu'​utilise SSH), il nous faut : 
 +  * soit l'​adresse [[:​doc:​reseau:​ip-publique|IP]] de la machine, 
 +  * soit son nom d'​hôte. 
 +Par exemple, pour se connecter au serveur Debian, vous pouvez lui envoyer des [[:​doc:​reseau:​ping]] via son IP ainsi : 
 +<code user>​ping 128.31.0.51</​code>​ 
 +ou via son nom d'​hôte : 
 +<code user>​ping debian.org</​code>​ 
 + 
 +=== Obtenir un shell distant ​=== 
 + 
 +Par exemple, pour vous connecter sous le nom d'​utilisateur((user)) //jojo// sur la machine d'IP //​coincoin//​((PAN !)), vous faites simplement : 
 +<code user>ssh jojo@coincoin</​code>​ 
 + 
 +Si le serveur ssh distant n'​écoute pas sur le port 22, vous pouvez spécifier le port à l'aide de l'​option ''​-p''​ : 
 +<code user>ssh -p 1234 jojo@coincoin</​code>​ 
 + 
 +=== Obtenir un shell distant avec export X === 
 + 
 +Il est aussi possible de lancer sur le serveur distant une application graphique qui s'​affichera sur votre ordinateur client. 
 + 
 + 
 +Pour vous connecter sous le nom d'​utilisateur //jojo// sur la machine d'IP //​coincoin//​ et obtenir l'​export X, 
 +  - vous faites simplement :<code user>ssh -X jojo@coincoin</​code>​ 
 +  - Puis vous lancez votre application graphique via le shell obtenu. 
 + 
 +==== Authentification ==== 
 + 
 +=== Par nom d'​utilisateur/​mot de passe 
 + 
 +Le nom d'​utilisateur est spécifié dans la commande de connexion. Le serveur nous demande alors notre mot de passe pour nous connecter, de la même façon que sur une machine locale 
 + 
 +<code user>ssh jojo@coincoin</​code>​ 
 + 
 +    jojo@coincoin'​s password: 
 +L'​authentification par le couple login/mot de passe est le plus habituel. Mais cela peut poser quelques problèmes en terme de sécurité. Afin d'​être plus simple à mémoriser, les mots de passe sont en effet relativement peu complexe. De plus, nous avons la mauvaise habitude d'​utiliser souvent le même pour plusieus service. Ainsi, il suffit 
 + 
 +=== Rediriger un port local vers un port distant === 
 + 
 +FIXME 
 + 
 +=== Rediriger un port distant vers un port local === 
 + 
 +FIXME 
 + 
 +==== Configuration ==== 
 + 
 +Par défaut, SSH n'a pas besoin de configuration. Cependant, pour se simplifier la vie ou pour les cas particuliers,​ il est possible de préciser préalablement quelques informations sur les connexions que l'on effectue régulièrement. 
 + 
 +Cela se fait au moyen de l'​édition du fichier de configuration ''​~/​.ssh/​config''​((à créer s'il n'​existe pas déjà)) : 
 +<code user>​nano ~/​.ssh/​config</​code>​ 
 + 
 +Si vous vous connectez régulièrement sur l'​ordinateur de votre maman, d'IP ''​ordi.de.ma.maman ''​ sous le nom d'​utilisateur ''​gaston '',​ et sachant que son serveur ssh est configuré pour écouter sur le ''​port 444 '',​ ajoutez ceci dans votre fichier de configuration : 
 + 
 +  Host maman 
 +  Hostname ordi.de.ma.maman 
 +  User gaston 
 +  Port 444 
 +   
 +Et, pour vous connecter sur l'ordi de votre môman, il vous suffira maintenant de taper simplement la ligne suivante : 
 +<code user>ssh maman</​code>​ 
 + 
 +<​note>​Dans le même fichier de configuration,​ vous pouvez ajouter plusieurs //alias// comme celui-ci.</​note>​ 
 +Pour une liste de toutes les options disponibles,​ et il y en a... //une floppée// ! Tapez : 
 +<code user>man ssh_config</​code>​ 
 + 
 +==== Problèmes courants ==== 
 + 
 +=== Après réinstallation du serveur === 
 + 
 +Si le pc serveur est réinstallé,​ la clé unique l'​identifiant est changée. \\ 
 +Le client va détecter le changement et soupçonner que quelqu'​un d'​autre essaye de se faire passer pour le serveur original et vous obtiendrez alors un message comme celui-ci : 
 + 
 +<​code>​@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
 +@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! ​    @ 
 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
 +IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! 
 +Someone could be eavesdropping on you right now (man-in-the-middle attack)! 
 +It is also possible that the RSA host key has just been changed. 
 +The fingerprint for the RSA key sent by the remote host is 
 +xx:​xx:​xx:​xx:​xx:​xx:​xx:​xx:​xx:​xx:​xx:​xx:​xx:​xx:​xx. 
 +Please contact your system administrator. 
 +Add correct host key in /​home/​user/​.ssh/​known_hosts to get rid of this message. 
 +Offending key in /​home/​user/​.ssh/​known_hosts:​9 
 +RSA host key for 192.168.X.XX has changed and you have requested strict checking. 
 +Host key verification failed.</​code>​ 
 + 
 +Ce message indique la ligne contenant l'​empreinte de l'​ancien serveur ici : 
 +   ​Offending key in ~/​.ssh/​known_hosts:​9 
 + 
 +Dans cet exempole, il faut alors supprimer la 9ème ligne de son fichier ''/​home/​user/​.ssh/​known_hosts''​ 
 + 
 +Donc nous éditons(([[:​doc:​editeurs:​vim:​vim]] ou [[:​doc:​editeurs:​nano]])) ce fichier en user(([[:​doc:​systeme:​su]])) : 
 +<code user>​nano ~/​.ssh/​known_hosts</​code>​ 
 + 
 +et nous supprimons cette 9ème ligne. 
 + 
 +À notre prochain contact vers le serveur, après le //yes// d'​acceptation habituelle, une nouvelle clé d'​identification sera créée et tout ira pour le meilleur des mondes **ssh** possible.
  
 +==== TP ====
  
-Le SSH est un protocole qui permet d'établir une connection avec un autre PC, ce qui permet ​''​en console'' ​d'avoir accès au contenu du PC distant. \\  +  * Pour ''​COPIER'' ​un fichier sécurisé vous devez vous servir de : [[:​doc:​reseau:​scp|SCP]] 
-Pour faire des connections vers un PC à plusieurs KM vous devrez ouvrir le port 22 de votre routeur.+  * Pour ''​MONTER''​ les fichiers servez-vous de : [[:​doc:​reseau:​sshfs|SSHFS]] 
 +  * Utiliser ssh comme un serveur ​de fichiers : [[:​doc:​reseau:​sftp | sftp installation et configuration]]
  
-===== Configuration de Base =====+===== Serveur SSH =====
  
-Le 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.+==== Installation ====
  
-  ssh user@192.168.1.x +<code root>​apt-get install openssh-server</​code>​
-  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.+==== Configuration ====
  
-Pour te connecter sur un serveur ssh qui n'a pas le port 22 par défaut. +La configuration ​par défaut ​est très bonne\\ 
-   ​ssh mattux@mon.serveur.org -p 10010 +Si vous voulez la personnaliser,​ il vous faut éditer le fichier ''/​etc/​ssh/​sshd_config''​ : 
--p **10010** bien sûr à adapter au port ouvert, son numéro !+<code user>​nano /​etc/​ssh/​sshd_config</​code>​
  
-=== Recommandation importante ​===+Comme d'​hab',​ plus d'​infos dans le : 
 +<code user>man sshd_config</​code>​
  
-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 ;-).+==== Recommandation importante ====
  
-Donc si vous voulez exporter une session ​SSH via un PC 18 000 km :-D de chez vous je vous recommande ​de faire une configuration avancée.+Jojo vous recommande de ne pas ouvrir cette connection ​SSH tel quelle sur le net... il y des malins qui forcent le passage pour entrer ​chez vous en essayant des tetra…floppées ​de mot de passes courants ;-).
  
-==== Configuration avancée ====+Donc si vous voulez **exporter** une session SSH via un PC a 18 000 km :-D de chez vous, restez prudents et sécurisez-là au maximum(([[doc:​systeme:​securite | De la sécurité...]])),​ en utilisant par exemple une clé RSA (voir par la suite dans les TP)
  
-voir : [[config:​ssh|Configuration de SSH]]+==== TP ====
  
 +  * [[doc:​reseau:​ssh|Utilisation de clés RSA]]
  
 +TODO
  
-===== Détail sur la ligne de commande ​SSH =====+  * Rediriger le port 22 de la freebox/​livebox/​whateverbox vers votre machine pour vous connecter chez vous depuis l'​extérieur 
 +  * Configuration ​de SSH comme serveur de fichier.
  
-  *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. 
-  * Pour ''​COPIER''​ un fichier sécurisé vous devez vous servir de : [[commande:​scp|SCP]] 
-  * Pour ''​MONTER''​ les fichiers servez-vous de : [[commande:​sshfs|SSHFS]] 
doc/reseau/ssh/client.txt · Dernière modification: 18/08/2023 21:27 par Jean-Pierre Pinson

Pied de page des forums

Propulsé par FluxBB