| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| ssh_avance [Le 23/03/2020, 06:53] – ajout section avec lien vers pssh (déploiement même commandes sur plusieurs machine via ssh) Fabux | ssh_avance [Le 22/01/2026, 18:01] (Version actuelle) – [Tunnéliser sa connexion internet par SSH avec l'aide de Squid] client pas ditant a priori (en tout cas le serveur et le client ne devraient pas tous les 2 être distants pour l'explication) krodelabestiole |
|---|
| ===== Utiliser le ssh-agent ===== | ===== Utiliser le ssh-agent ===== |
| |
| 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. | 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**. | 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. | 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> | <code> |
| L'agent ssh ne transmet pas votre passphrase sur le réseau ni votre clé privée. | 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 : | Vous pouvez savoir quel utilisateur est déclaré avec ssh-agent à l'aide de la commande suivante : |
| <code> | <code> |
| ssh-add -l | ssh-add -l |
| |
| Vous pouvez : | Vous pouvez : |
| * Utiliser le mode natif de base de SSH, voir [[ssh|SSH]] | * 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]]. 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é. | * 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é. |
| | |
| * l'administrateur 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). |
| |
| On va donc installer le serveur de médiation Squid (serveur mandataire) sur une machine Ubuntu (qui sera le serveur) à laquelle on accèdera par une machine distante possédant un client SSH et un navigateur Web. Dans l'exemple présent, ce sera un client sous Windows. | On va donc installer le serveur de médiation Squid (serveur mandataire) sur une machine Ubuntu (qui sera le serveur) à laquelle on accèdera par une machine cliente possédant un client [[:SSH]] et un [[:navigateur]] Web. Dans l'exemple présent, ce sera un client sous Windows. |
| |
| 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. |
| ===== 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 [[https://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 ==== |
| ==== 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|Graphical SSH Tunnel Manager]]. | Il existe une application graphique bien pratique pour gérer les tunnels SSH : au lieu de les recréer chaque fois on utilise [[:remmina|Remmina]]. |
| |
| ===== 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 ===== |
| </file> | </file> |
| <note> | <note> |
| Avec le [[http://blog.rootshell.be/2010/03/08/openssh-new-feature-netcat-mode/|"mode netcat intégré" introduit avec la version 5.4]]. Avant la version OpenSSH 5.4, on pouvait utiliser la commande ''nc'' (paquet d'installation ''netcat'') sur le client <file bash ~/.ssh/config> | Avec le [[https://blog.rootshell.be/2010/03/08/openssh-new-feature-netcat-mode/|"mode netcat intégré" introduit avec la version 5.4]]. Avant la version OpenSSH 5.4, on pouvait utiliser la commande ''nc'' (paquet d'installation ''netcat'') sur le client <file bash ~/.ssh/config> |
| Host <srv_final> | Host <srv_final> |
| ProxyCommand ssh <srv_intermédiaire> nc %h %p | ProxyCommand ssh <srv_intermédiaire> nc %h %p |
| |
| * [[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. | * [[https://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]] | * [[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]] |