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
utilisateurs:sx1:ssh_avance [Le 03/03/2012, 08:30]
sx1 [Connexion ssh vers le serveur final]
utilisateurs:sx1:ssh_avance [Le 11/09/2022, 13:12] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
 {{tag>​administration sécurité serveur}} {{tag>​administration sécurité serveur}}
- 
 ---- ----
  
-====== SSH avancés ​====== +====== ​Fonctionnalités avancées de SSH ======
- +
-Cette page présente les usages avancés de SSH, ou particuliers répondant à un besoin très précis. +
- +
-Voir sur [[:ssh bases|SSH bases]] pour les usages les plus courants de SSH et sa configuration de base.+
  
 +Cette page présente les usages avancés ou particuliers de SSH répondant à un besoin très précis.\\
 +Pour plus d'​information sur les usages les plus courants de SSH et sa configuration de base reportez-vous à [[:​ssh|cette page]].
  
 ===== Se connecter en ssh à travers un mandataire http (proxy) ===== ===== Se connecter en ssh à travers un mandataire http (proxy) =====
  
-Il peut arriver (en entreprise, dans un cybercafé...) qu'il y ait un mandataire (« proxy ») HTTP. Pour initier une connexion vers un poste de l'​extérieur il est nécessaire d'​utiliser l'​outil ''​connect-proxy''​. +Il peut arriver (en entreprise, dans un cybercafé...) qu'il y ait un mandataire (« proxy ») HTTP. Pour initier une connexion vers un poste de l'​extérieuril est alors nécessaire d'​utiliser l'​outil ''​connect-proxy''​. 
- +  ​* ​[[tutoriel:​comment_installer_un_paquet|Installer le paquet]] **[[apt>​connect-proxy|connect-proxy]]**. 
-[[tutoriel:​comment_installer_un_paquet|Installer le paquet]] **[[apt>​connect-proxy|connect-proxy]]**. +  ​* ​[[tutoriel:​comment_modifier_un_fichier|Éditer ​le fichier]] ​**/​etc/​ssh/​ssh_config** pour y ajouter les adresses IP extérieures :<​file>​host ip_du_pc_distant 
- +  ProxyCommand connect-proxy -H adresse_du_proxy:port %h %p</​file>​ où vous remplacerez ​''​ip_du_pc_distant''​ et ''​adresse_du_proxy:​port''​ par ce qui convient. 
-[[tutoriel:​comment_modifier_un_fichier|Editer ​le fichier]] ​''​/​etc/​ssh/​ssh_config'' ​pour y ajouter les adresses IP extérieures : +Vous pouvez maintenant vous connecter à travers votre mandataire en toute transparence,​ avec la commande ssh.
- +
-  ​host ip_du_pc_distant +
-  ProxyCommand connect-proxy -H adresse.du_proxy:port %h %p +
- +
-Remplacer ​''​ip_du_pc_distant''​ et ''​adresse.du_proxy:​port''​ par ce qui convient. Vous pouvez maintenant vous connecter à travers votre mandataire en toute transparence,​ avec la commande ssh.+
  
 ===== Restriction d'​accès SSH ===== ===== Restriction d'​accès SSH =====
  
-Quand on utilise SSH [[#Restriction d'​accès SSH|L'authentification par clé publique]], le serveur distant peut limiter l'​utilisation de certaines commandes permises. \\ Si vous maintenez un dépôt [[:cvs]] , vous pourriez utiliser des lignes comme ceci dans le fichier ​''​authorized_keys2'' ​: +Quand on utilise SSH avec une [[ssh_bases#authentification_par_un_systeme_de_cles_publiqueprivee|authentification par clés]] , le serveur distant peut limiter l'​utilisation de certaines commandes permises.\\ 
- +Si vous maintenez un dépôt [[:cvs]] , vous pourriez utiliser des lignes comme ceci dans le fichier ​**~/​.ssh/​authorized_keys** ​
- <code>​command="/​usr/​bin/​cvs server"​ ssh-dss <​nom_commande>​ </code>+ <file>​command="/​usr/​bin/​cvs server"​ ssh-dss <​nom_commande>​ </file>
  
 Ceci permettrait que seule cette commande puisse être utilisée à l'​exception d'​autres. Ceci permettrait que seule cette commande puisse être utilisée à l'​exception d'​autres.
Ligne 33: Ligne 25:
 ===== Accès automatique pour des scripts ===== ===== Accès automatique pour des scripts =====
  
-L'​authentification par clé publique (voir ci-dessus) peut également être employée pour automatiser les tâches qui exigeraient habituellement l'​introduction au clavier d'un mot de passe. \\ Imaginez vouloir copier un dossier à partir d'un ordinateur distant tous les jours à minuit. Tout ce que vous avez à faire c'est d'​établir la confiance entre ces deux ordinateurs. \\ Créez un compte de service sur un ordinateur, créez une paire de clés (''​ssh-keygen -t dsa''​) ​et quand on vous demande de rentrer la //​passphrase//​ tapez juste sur la touche « Entrée ». Ceci fera que votre clé privée ne sera pas protégée. Ajoutez la clé publique de l'​autre ordinateur dans le fichier ''​authorized_keys''​ (« ''​ssh-copy-id''​ »).+L'​authentification par clé publique (voir [[:​ssh#​authentification_par_un_systeme_de_cles_publiqueprivee|SSH]]) peut également être employée pour automatiser les tâches qui exigeraient habituellement l'​introduction au clavier d'un mot de passe.\\ 
 +Imaginez vouloir copier un dossier à partir d'un ordinateur distant tous les jours à minuit. Tout ce que vous avez à faire c'est d'​établir la confiance entre ces deux ordinateurs.\\ 
 +Créez un compte de service sur un ordinateur, créez une paire de clés comme expliqué sur la page relatives aux bases de SSH 
 +et quand on vous demande de rentrer la //​passphrase//​ tapez juste sur la touche « Entrée ». 
 + 
 +Ceci fera que votre clé privée ne sera pas protégée.
  
-Maintenant vous pouvez utiliser SSH sur cette machine sans une //​passphrase//​ à taper. Ajoutez une référence à SSH dans votre //crontab// et vous êtes prêt.+Ajoutez la clé publique de l'​autre ordinateur dans le fichier **~/​.ssh/​authorized_keys** par la commande **ssh-copy-id** comme expliqué sur la page relative aux bases sur SSH ([[:​ssh#​authentification_par_un_systeme_de_cles_publiqueprivee|SSH]]) 
 +Maintenant vous pouvez utiliser SSH sur cette machine sans une //​passphrase//​ à taper. Ajoutez une référence à SSH dans votre //[[:cron|crontab]]// et vous êtes prêt.
  
 <note importante>​ <note importante>​
Ligne 43: Ligne 41:
 ===== Utiliser le ssh-agent ===== ===== Utiliser le ssh-agent =====
  
-Si vous devez fréquemment copier des fichiers avec SSH ou accéder à d'​autres ordinateurs ​de votre réseau (ce qui est une tâche commune pour des administrateurs), vous vous demandez probablement s'il y a une manière de simplifier l'​utilisation de la //passphrase//En fait il y a **SSH agent**. Vous devez seulement entrer ​votre //​passphrase// ​une fois en employant **ssh-add** et tout ce que vous commencez comme sous-processus de **SSH agent** se rappellera ​cette passphrase.+Si vous devez fréquemment ​ouvrir des sessions distantes avec SSH ou copier des fichiers avec SCP (ou toute autre utilisation ​de SSH) il existe ​une solution pour ne pas avoir à saisir votre passphrase ​à chaque utilisation. 
 + en utilisant ​**SSH agent**. 
 +Vous devez indiquer une fois votre //​passphrase// ​à ssh-agent ​en employant ​la commande ​**ssh-add** et tout ce que vous commencez comme sous-processus de **SSH agent** ​(donc SSH, SCP, etc.) se rappellera ​automatiquement de la passphrase
 +<​code>​ 
 +~$ ssh-add 
 +Enter passphrase for /​home/<​nom_utilisateur>/​.ssh/​id_rsa:​  
 +Identity added: /​home/<​nom_utilisateur>/​.ssh/​id_rsa (/​home/<​nom_utilisateur>/​.ssh/​id_rsa) 
 +</​code>​ 
 +Une fois effectué cette opération un seule fois, vous n'​aurez pas besoin de vous inquiéter de l'​agent. 
 +Votre session est prête pour exploiter le **ssh-agent** automatiquement.
  
-Trop théorique ? Bien, vous n'​aurez pas besoin de vous inquiéter de l'​agent. ​Votre session X est prête pour avoir le **ssh-agent** en session automatiquement. Tout ce que vous devez faire c'est lancer **ssh-add** et saisir votre passphrase. La prochaine fois que vous utiliserez **SSH** pour accéder à un autre ordinateurvous n'aurez pas à entrer à nouveau votre //​passphrase//​Cool, non ? :-)+L'​agent ​ssh ne transmet pas votre passphrase sur le réseau ni votre clé privée. 
 + 
 +Vous pouvez savoir quel utilisateur ​est déclaré avec ssh-agent ​à l'aide de la commande suivante : 
 +<​code>​ 
 +ssh-add ​-l 
 +</​code>​ 
 +qui renvoi l'​empreinte de la clé connuele nom de l'utilisateur et le type de clé de chiffrement utilisée. 
 +Exemple ​: 
 +2048 1f:​98:​46:​a2:​b9:​25:​0e:​68:​35:​20:​fa:​9e:​b0:​cb:​5e:​3e albert@monordi (RSA)
  
 <note importante>​ <note importante>​
   * Vous devrez bloquer votre session pendant vos absences car d'​autres pourraient accéder aux ordinateurs distants à partir de votre machine sans savoir votre //​passphrase//​.   * Vous devrez bloquer votre session pendant vos absences car d'​autres pourraient accéder aux ordinateurs distants à partir de votre machine sans savoir votre //​passphrase//​.
   * Si vous voulez rentrer votre //​passphrase//​ une fois juste après l'​ouverture de session, vous pouvez ajouter un appel à **ssh-add** comme ceci :   * Si vous voulez rentrer votre //​passphrase//​ une fois juste après l'​ouverture de session, vous pouvez ajouter un appel à **ssh-add** comme ceci :
-    * Cliquez sur //Système → Préferences ​→ Sessions → Programme au démarrage//​.+    * Cliquez sur //Système → Préférences ​→ Sessions → Programme au démarrage//​.
     * Cliquez sur « Ajouter ».     * Cliquez sur « Ajouter ».
     * Entrez la commande « ''​ssh-add''​ ».     * Entrez la commande « ''​ssh-add''​ ».
Ligne 60: Ligne 75:
  
 Vous pouvez : Vous pouvez :
-  * Utiliser le mode natif de base de SSH, voir [[ssh_bases|SSH bases]]  +  * Utiliser le mode natif de base de SSH, voir [[ssh|SSH]] 
-  * Utiliser le mode natif avancé de SSH :  les directives Chroot et Match de SSH, qui permettent de limiter pour certains utilisateurs l'​utilisation du ssh au sftp et dans un répertoire déterminé. Voir [[http://​www.dsfc.net/​infrastructure/​securite/​chroot-ssh-protocolesftp/​|sftp avec Chroot]] pour les détails. +  * Utiliser le mode natif avancé de SSH :  les directives ​//Chroot// et //Match// de SSH, qui permettent de limiter pour certains utilisateurs l'​utilisation du ssh au sftp et dans un répertoire déterminé.\\ Voir [[http://​www.dsfc.net/​infrastructure/​securite/​chroot-ssh-protocolesftp/​|sftp avec Chroot]] pour les détails. 
-  * Utiliser [[mysecureshell_sftp-server|MySecureShell]] ​(s'​installe en plus de ''​openssh-server''​+  * Utiliser [[:mysecureshell_sftp-server|MySecureShell]]. MysecureShell,​ qui s'​installe en plus de ''​openssh-server''​ajoute une couche au dessus de SSH sur le serveur et demande l'​emploi de Java sur le client pour disposer d'une interface graphique de paramétrage de SSH/SFTP.\\ Cela n'​apporte toutefois aucune fonction ni sécurité supplémentaire par rapport au mode natif avancé.
-   +
-MysecureShell ​ajoute une couche au dessus de SSH sur le serveur et demande l'​emploi de Java sur le client pour disposer d'une interface graphique de paramétrage de SSH/SFTP. Cela n'​apporte toutefois aucune fonction ni sécurité supplémentaire par rapport au mode natif avancé.+
  
 ===== Tunnéliser sa connexion internet par SSH avec l'aide de Squid ===== ===== Tunnéliser sa connexion internet par SSH avec l'aide de Squid =====
  
 Tunnéliser sa connexion Web est très utile dans quelques situations : Tunnéliser sa connexion Web est très utile dans quelques situations :
-  ​* l'admin du réseau où vous êtes vous empêche d'​accéder à certains sites ;+  
 +  ​* l'administrateur ​du réseau où vous êtes vous empêche d'​accéder à certains sites.
   * votre connexion Web est peu ou pas sécurisée (wifi sans chiffrement (//​encryption//​) ou par chiffrement WEP).   * votre connexion Web est peu ou pas sécurisée (wifi sans chiffrement (//​encryption//​) ou par chiffrement WEP).
  
Ligne 75: Ligne 89:
  
 On obtiendra alors un accès sécurisé à un mandataire distant (le serveur sous Ubuntu) qui se connectera aux sites Web et renverra le résultat à votre navigateur. On obtiendra alors un accès sécurisé à un mandataire distant (le serveur sous Ubuntu) qui se connectera aux sites Web et renverra le résultat à votre navigateur.
 +
 +Ayez bien à l'​esprit qu'en effectuant cette opération vous violez certainement les règles de sécurité définies au sein de votre organisation.
  
 ==== Partie serveur ==== ==== Partie serveur ====
  
-Premièrement,​ il faut installer ​le programme [[http://​www.squid-cache.org/​|Squid]]. Le [[:​tutoriel:​comment_installer_un_paquet|paquet à installer]] est **squid**. +Premièrement,​ il faut mettre en place le programme [[:​Squid]] ​en [[:​tutoriel:​comment_installer_un_paquet|installant]] son paquet ​**[[apt>​squid]]**.
- +
-Normalement si tout se déroule bien, Squid devrait être fonctionnel. Il est probable qu'une erreur arrive car le programme de configuration n'​arrivera pas à trouver le nom d'​hôte de la machine. Il faut donc ouvrir le fichier de configuration de Squid et lui indiquer que la machine n'a pas de nom d'​hôte. On [[:​tutoriel:​comment_editer_un_fichier|ouvre le fichier de configuration]] ''/​etc/​squid/​squid.conf''​ et on ajoute cette ligne :+
  
 +Normalement si tout se déroule bien, Squid devrait être fonctionnel.\\
 +Il est cependant probable qu'une erreur arrive car le programme de configuration n'​arrivera pas à trouver le nom d'​hôte de la machine. Il faut donc ouvrir le fichier de configuration de Squid et lui indiquer que la machine n'a pas de nom d'​hôte. On [[:​tutoriel:​comment_editer_un_fichier|ouvre avec les droits d'​administration]] le fichier de configuration **/​etc/​squid/​squid.conf** pour y ajouter cette ligne :
 <​file>​visible_hostname none</​file>​ <​file>​visible_hostname none</​file>​
- 
 Après l'​enregistrement du fichier de configuration,​ vous pouvez normalement générer les répertoires qui contiendront le cache de Squid par la commande : Après l'​enregistrement du fichier de configuration,​ vous pouvez normalement générer les répertoires qui contiendront le cache de Squid par la commande :
 +<​code>​sudo squid -z</​code>​
  
-  sudo squid -z +Grâce à SSH, les connexions reçues par Squid seront des connexions provenant du serveur lui-même. Maispar défaut, Squid n'​accepte que les connexions ​sur la boucle locale 127.0.0.1 en Ipv4 (loopback). On devrait alors quand même ajouter une autorisation pour l'​adresse IP du serveur ​qui n'est pas celle de bouclage. Vous ouvrez donc le fichier de configuration ​[[:​squid#​configuration|Squid configuration]] ​et vous ajoutez ces deux lignes :
- +
-Grâce à SSH, les connexions reçues par Squid seront des connexions provenant du serveur lui-même. Mais par défaut, Squid n'​accepte que les connexions ​//loopback//. On devrait alors quand même ajouter une autorisation pour l'​adresse IP non //​loopback//​ (127.0.0.1) ​du serveur. Vous ouvrez donc le fichier de configuration et vous ajoutez ces deux lignes :+
  
 <​file>​ <​file>​
Ligne 96: Ligne 110:
  
 Dans l'​exemple,​ ''​ordi''​ est le nom choisi pour la règle et ''​192.168.1.1''​ est l'​adresse IP locale de l'​ordinateur. Vous pouvez donc maintenant démarrer Squid par : Dans l'​exemple,​ ''​ordi''​ est le nom choisi pour la règle et ''​192.168.1.1''​ est l'​adresse IP locale de l'​ordinateur. Vous pouvez donc maintenant démarrer Squid par :
- +<​code>​sudo squid start</​code>​
-  ​sudo squid start +
 ou le redémarrer par : ou le redémarrer par :
- +<​code>​sudo squid reload</​code>​
-  ​sudo squid reload +
 Squid est normalement prêt à recevoir les connexions venant de la machine hôte. Squid est normalement prêt à recevoir les connexions venant de la machine hôte.
  
 ==== Partie client ==== ==== Partie client ====
  
-FIXME rédiger, manquant.+FIXME **À rédiger, manquant.**
  
 ===== Tunnéliser sa connexion internet par SSH (sans Squid) ===== ===== Tunnéliser sa connexion internet par SSH (sans Squid) =====
  
-[[#​Tunnéliser sa connexion internet par SSH avec l'aide de Squid|La partie précédente]] ​ consiste à installer un [[http://​fr.wikipedia.org/​wiki/​Proxy|mandataire HTTP]] sur le serveur et de s'y connecter via SSH. Cependant, SSH lui-même peut jouer le rôle de mandataire, ce qui évite l'​installation d'un logiciel supplémentaire.+[[#​Tunnéliser sa connexion internet par SSH avec l'aide de Squid|La partie précédente]] consiste à installer un [[http://​fr.wikipedia.org/​wiki/​Proxy|mandataire HTTP]] sur le serveur et de s'y connecter via SSH. Cependant, SSH lui-même peut jouer le rôle de mandataire, ce qui évite l'​installation d'un logiciel supplémentaire.
  
 ==== Partie serveur ==== ==== Partie serveur ====
Ligne 119: Ligne 129:
 ==== Partie client ==== ==== Partie client ====
  
-Cette fois, le mandataire ​est de type //SOCKS// (à prendre en compte lors de la configuration du navigateur).+Cette fois, le mandataire à prendre en compte ​notamment ​lors de la configuration du navigateur ​est de type //​[[wpfr>​SOCKS]]//​.
  
 === Sous Linux (dont Ubuntu) === === Sous Linux (dont Ubuntu) ===
Ligne 131: Ligne 141:
 Configurer ensuite le navigateur, gestionnaire de courrier, etc., pour utiliser un mandataire de type //SOCKS 5//, adresse : //​localhost//,​ port: //1234// (selon ce que vous avez utilisé ci dessus). Configurer ensuite le navigateur, gestionnaire de courrier, etc., pour utiliser un mandataire de type //SOCKS 5//, adresse : //​localhost//,​ port: //1234// (selon ce que vous avez utilisé ci dessus).
  
-La connexion fonctionnera tant que le tunnel restera ouvert ​(si vous fermez le terminal ayant servi à ouvrir le tunnel, vous fermerez le tunnel). Pour vous assurer que le tunnel remplit son office, ​affichez ​une page telle que ''​http://​www.monip.org'' ​et constatez que l'IP affichée n'est pas la même que lorsque vous naviguez sans mandataire.+La connexion fonctionnera tant que le tunnel restera ouvert ​si vous fermez le terminal ayant servi à ouvrir le tunnel, vous fermerez le tunnel.\\ 
 +Pour vous assurer que le tunnel remplit son office, ​rendez-vous sur une page telle que [[http://​www.monip.org|mon ip.org]] ​et constatez que l' ​adresse ​IP affichée n'est pas la même que lorsque vous naviguez sans mandataire.
  
 === Sous Windows, avec Putty === === Sous Windows, avec Putty ===
  
-La configuration est la même qu'au point 6.2, sauf qu'il faut cocher la case "​dynamic"​. La case "​destination"​ n'est pas prise en compte et peut rester vide.+La configuration est la même qu'​au ​[[#Partie client|point 6.2]], sauf qu'il faut cocher la case "​dynamic"​. La case "​destination"​ n'est pas prise en compte et peut rester vide.
  
 <​note>​ <​note>​
Ligne 145: Ligne 156:
 ==== Gestion des tunnels ==== ==== Gestion des tunnels ====
  
-Il existe une petite application graphique bien pratique pour gérer les tunnels SSH : au lieu de les recréer chaque fois on utilise ​[[gstm|gSTM]] (Graphical SSH Tunnel Manager).+Il existe une petite application graphique bien pratique pour gérer les tunnels SSH : au lieu de les recréer chaque fois on utilise Graphical SSH Tunnel Manager.
  
 ===== Accéder à ses ressources réseau locales depuis l'​extérieur sans NAT : tunnel ===== ===== Accéder à ses ressources réseau locales depuis l'​extérieur sans NAT : tunnel =====
Ligne 155: Ligne 166:
 ==== Accéder à une machine Windows via RDP ==== ==== Accéder à une machine Windows via RDP ====
  
-Donc nous avons un réseau avec une machine sous Windows (XP, Vista...) avec comme adresse locale ''​192.168.1.2''​ où TSE est activé mais accessible uniquement en local, un serveur ssh sous Ubuntu avec comme IP locale ''​192.168.1.3'',​ et une Livebox (ou autre) dont seul le port ssh (22) est traduit (en franglais on dit translaté, Cf. NAT) pour un accès au serveur ssh depuis l'​extérieur.+Donc nous avons un réseau avec une machine sous Windows (XP, Vista...) avec comme adresse locale ''​192.168.1.2''​ où le client RDP du Terminal Service (TSEest activé mais accessible uniquement en local, un serveur ssh sous Ubuntu avec comme IP locale ''​192.168.1.3'',​ et une Livebox (ou autre) dont seul le port ssh (22) est traduit (en franglais on dit translaté, Cf.[[wpfr>​Network_address_translation]]) pour un accès au serveur ssh depuis l'​extérieur.
  
 Nous voulons depuis l'​extérieur accéder à la machine Windows via RDP. Nous voulons depuis l'​extérieur accéder à la machine Windows via RDP.
  
 Nous allons pour cela utiliser la tunnélisation. À partir de votre station depuis l'​extérieur on va tunnéliser la connexion RDP de la station Windows au travers du serveur ssh : Nous allons pour cela utiliser la tunnélisation. À partir de votre station depuis l'​extérieur on va tunnéliser la connexion RDP de la station Windows au travers du serveur ssh :
-<​code>​ssh -L 3389:​192.168.1.2:​3389 username@IP_Publique_Box</​code>​+<​code>​ssh -L 3389:​192.168.1.2:​3389 username@IP_Publique_Box</​code>​
  
 Il suffit ensuite d'​ouvrir le terminal serveur client sur votre machine et de se connecter à ''​localhost''​. Il suffit ensuite d'​ouvrir le terminal serveur client sur votre machine et de se connecter à ''​localhost''​.
Ligne 166: Ligne 177:
 Nous pouvons de la même façon accéder à la configuration de notre Box sans pour autant devoir la rendre accessible depuis Internet (attention seul ''​root''​ peut faire suivre le port 80) : Nous pouvons de la même façon accéder à la configuration de notre Box sans pour autant devoir la rendre accessible depuis Internet (attention seul ''​root''​ peut faire suivre le port 80) :
  
-<​code>​sudo ssh -L 80:​192.168.1.1:​80 username@IP_Publique_Box</​code>​+<​code>​sudo ssh -L 80:​192.168.1.1:​80 username@IP_Publique_Box</​code>​
  
-Puis en ouvrant son navigateur préféré et en entrant comme adresse ​''​[[http://​localhost]]''​+Puis en ouvrant son navigateur préféré et en entrant comme adresse ​**%%http://​localhost%%**
  
 ===== Accéder à un serveur par rebond ssh (serveur ssh intermédiaire) ===== ===== Accéder à un serveur par rebond ssh (serveur ssh intermédiaire) =====
 +
 +FIXME Expliquer dans quel cadre ces opérations peuvent servir.
  
 Pour accéder à un serveur par rebond sur un serveur ssh intermédiaire,​ on réalise normalement 2 connexions ssh ce qui peut devenir fastidieux lorsqu'​on doit réaliser cette opération régulièrement.\\ Pour accéder à un serveur par rebond sur un serveur ssh intermédiaire,​ on réalise normalement 2 connexions ssh ce qui peut devenir fastidieux lorsqu'​on doit réaliser cette opération régulièrement.\\
 SSH peut cependant faciliter cette opération en effectuant au choix une des deux manipulations : SSH peut cependant faciliter cette opération en effectuant au choix une des deux manipulations :
   - une seule ligne de commande pour réaliser une [[#​connexion ssh vers le serveur de destination via un serveur ssh intermédiaire]]   - une seule ligne de commande pour réaliser une [[#​connexion ssh vers le serveur de destination via un serveur ssh intermédiaire]]
-  - une modification de fichier pour provoquer une [[#​connexion ssh vers le serveur de destination ​directement]]+  - une modification de fichier pour provoquer une [[#​connexion ssh directement ​vers le serveur de destination]]
 <note help>​Pour toutes les commandes décrites ci-dessous, il est possible d'​ajouter un nom d'​utilisateur pour changer d'​utilisateur.</​note>​ <note help>​Pour toutes les commandes décrites ci-dessous, il est possible d'​ajouter un nom d'​utilisateur pour changer d'​utilisateur.</​note>​
  
Ligne 183: Ligne 196:
 <note important>​Si vous obtenez l'​erreur suivante : <​code>​Pseudo-terminal will not be allocated because stdin is not a terminal.</​code>​ rajouter l'​option ''​-t''​ sur la connexion ssh du serveur intermédiaire,​ ce qui donne : <​code>​ssh -t <​srv_intermédiaire>​ ssh <​srv_final></​code></​note>​ <note important>​Si vous obtenez l'​erreur suivante : <​code>​Pseudo-terminal will not be allocated because stdin is not a terminal.</​code>​ rajouter l'​option ''​-t''​ sur la connexion ssh du serveur intermédiaire,​ ce qui donne : <​code>​ssh -t <​srv_intermédiaire>​ ssh <​srv_final></​code></​note>​
  
-==== Connexion ssh vers le serveur de destination ​directement ​==== +==== Connexion ssh directement ​vers le serveur de destination ==== 
-Le fonctionnement n'est pas du tout le même que [[#​Connexion ssh vers le serveur ssh intermédiaire|précédemment]] car ssh parlera ici directement avec le serveur final.\\+Le fonctionnement n'est pas du tout le même que [[#​Connexion ssh vers le serveur de destination via un serveur ssh intermédiaire|précédemment]] car ssh parlera ici directement avec le serveur final.\\
 Indiquez directement sur le poste client la commande ''​ProxyCommand''​ en [[:​tutoriel:​comment_modifier_un_fichier|modifiant le fichier]] Indiquez directement sur le poste client la commande ''​ProxyCommand''​ en [[:​tutoriel:​comment_modifier_un_fichier|modifiant le fichier]]
 <file bash ~/​.ssh/​config>​ <file bash ~/​.ssh/​config>​
Ligne 202: Ligne 215:
 ==== Délai lors de la connexion ==== ==== Délai lors de la connexion ====
  
-Si vous avez un délai de plusieurs secondes avant que la connexion SSH ne se fasse, essayez d'​ajouter ceci à votre fichier ​''​~/​.ssh/​config''​+Si vous avez un délai de plusieurs secondes avant que la connexion SSH ne se fasse, essayez d'​ajouter ceci à votre fichier ​**~/​.ssh/​config** 
 +<​file>​GSSAPIAuthentication no</​file>​
  
-  GSSAPIAuthentication no +Ceci désactive l'​identification par [[wp>Generic_Security_Services_Application_Program_Interface|GSSAPI]] ​ qui engendre parfois des délais lorsqu'​elle n'est pas utilisée.
- +
-Ceci désactive l'​identification par [[http://​en.wikipedia.org/​wiki/​Generic_Security_Services_Application_Program_Interface|GSSAPI]] ​ qui engendre parfois des délais lorsqu'​elle n'est pas utilisée. +
-(Source : http://​www.refreshinglyblue.com/​2007/​5/​18/​long-delay-before-ssh-authentication)+
  
 ==== Liens ==== ==== Liens ====
Ligne 213: Ligne 224:
   * [[http://​www.dsfc.net/​infrastructure/​securite/​chroot-ssh-protocolesftp/​|Tuto]]. « Chrooter » un utilisateur en ssh facilement.   * [[http://​www.dsfc.net/​infrastructure/​securite/​chroot-ssh-protocolesftp/​|Tuto]]. « Chrooter » un utilisateur en ssh facilement.
   * [[http://​technique.arscenic.org/​connexion-distante-au-serveur-ssh/​|Config]]. Configuration et sécurisation de ssh.   * [[http://​technique.arscenic.org/​connexion-distante-au-serveur-ssh/​|Config]]. Configuration et sécurisation de ssh.
 +  * [[http://​www.refreshinglyblue.com/​2007/​5/​18/​long-delay-before-ssh-authentication|Source]] pour le problème de [[#délai lors de la connexion]]
  
 ---- ----
- +//Contributeurs : [[:​utilisateurs:​sx1]]
-Contributeurs : +
  • utilisateurs/sx1/ssh_avance.1330759803.txt.gz
  • Dernière modification: Le 03/03/2012, 08:30
  • par sx1