linux:ssh

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
linux:ssh [2021/12/12 18:15] – add sshd -t phswlinux:ssh [2024/09/03 09:29] (Version actuelle) – [Créer un tunnel de port-forwarding] add link phsw
Ligne 5: Ligne 5:
   * ''-o'': préciser des options (un ''-o'' par option)   * ''-o'': préciser des options (un ''-o'' par option)
   * ''-L'': forward un port local vers un port sur une machine distant: ''ssh -L <adresselocale>:<portlocal>:<adressedistante>:<portdistant>''   * ''-L'': forward un port local vers un port sur une machine distant: ''ssh -L <adresselocale>:<portlocal>:<adressedistante>:<portdistant>''
-  * ''-D'': forward dynamique de port: ''ssh -D 8080 toor@ip'' 
   * ''-F'': indique quel fichier ''ssh/config'' utiliser. ''-F /dev/null'' correspond à n'utiliser aucun fichier de configuration.   * ''-F'': indique quel fichier ''ssh/config'' utiliser. ''-F /dev/null'' correspond à n'utiliser aucun fichier de configuration.
  
Ligne 18: Ligne 17:
   * [[https://lord.re/posts/187-ssh-key-restricted-rsync-backup/]]   * [[https://lord.re/posts/187-ssh-key-restricted-rsync-backup/]]
   * [[https://blog.g3rt.nl/upgrade-your-ssh-keys.html]]   * [[https://blog.g3rt.nl/upgrade-your-ssh-keys.html]]
 +  * [[https://github.com/opsdisk/the_cyber_plumbers_handbook|The Cyber Plumber's Handbook - The definitive guide to Secure Shell (SSH) tunneling, port redirection, and bending traffic like a boss]]
 +  * [[https://grahamhelton.com/blog/ssh-cheatsheet/|An Excruciatingly Detailed Guide To SSH (But Only The Things I Actually Find Useful)]]
 +  * [[https://blog.stephane-robert.info/docs/securiser/durcissement/ssh/|Durcir la configuration SSH]]
 +
 +
 +<code bash>
 +ssh-keygen -t ed25519 -a 100 -C "Comment"
 +</code>
  
  
Ligne 35: Ligne 42:
  
   * [[https://goteleport.com/blog/ssh-tunneling-explained/]]   * [[https://goteleport.com/blog/ssh-tunneling-explained/]]
 +  * [[https://iximiuz.com/en/posts/ssh-tunnels/|A Visual Guide to SSH Tunnels (with labs)]]
 +  * [[https://blog.stephane-robert.info/docs/services/reseau/ssh-tunneling/|Maitrisez le tunneling SSH]]
  
  
Ligne 75: Ligne 84:
  
 [[https://dev.to/samuyi/the-how-to-of-ssh-port-forwarding-1f4e|Source]] [[https://dev.to/samuyi/the-how-to-of-ssh-port-forwarding-1f4e|Source]]
 +
 +
 +
 +=== Tunnel de port dynamique ===
 +
 +Si seule la machine A peut accéder à la machine B et qu'on a une connexion à la machine A :
 +<code bash>
 +ssh -ND 8080 A
 +</code>
 +Cela crée un proxy socks qui écoute sur le port 8080 de la machine local. On peut ensuite configurer Firefox (''about:profiles'' pour le faire uniquement dans un profil spécifique) pour utiliser ce proxy (proxy SOCKSv5 sur 127.0.0.1:8080).
  
  
Ligne 175: Ligne 194:
 ==== Fichier ssh/config ==== ==== Fichier ssh/config ====
  
 +La configuration est documentée dans la page de man de ''ssh_config''.
 <file conf ~/.ssh/config> <file conf ~/.ssh/config>
 ForwardAgent yes # transmet les clés SSH du client, pour qu'elles soient disponibles dans la session SSH ForwardAgent yes # transmet les clés SSH du client, pour qu'elles soient disponibles dans la session SSH
Ligne 184: Ligne 204:
     ForwardX11 yes     ForwardX11 yes
 </file> </file>
 +
 +Pour forcer l'utilisation de l'IPv4 :
 +<code>
 +AddressFamily inet
 +</code>
 +
 +
 +
 +==== Fichier authorized_keys ====
 +
 +Sa syntaxe est documentée dans la page de man de ''sshd''.
 +
 +Chaque clé dans le fichier peut être précédée d'instructions pour limiter l'utilisation de la clé. Par exemple :
 +  * ''restrict,from="10.0.0.1",command="<une commande>" <clé>'' empêche l'utilisation de toutes les fonctionnalités de SSH, permet l'utilisation de la clé seulement depuis le client 10.0.0.1 et exécute la commande spécifiée une fois l'authentification réussie
 +  * ''restrict,port-forwarding<clé>'' empêche l'utilisation de toutes les fonctionnalités, ne permet que le port-forwarding (pour faire du ProxyJump, par exemple).
 +
 +
 +==== ProxyJump ====
 +
 +Pour passer à travers (plusieurs) serveur(s) de rebond avant d'atteindre le serveur cible :
 +<code conf>
 +Host rpi-a
 +    ProxyJump rpi-b
 +    HostName 10.0.0.3
 +    IdentityFile ~/.ssh/rpi_ed25519
 +    Port 3233
 +</code>
 +
 +Passe par ''rpi-b'' pour se connecter à ''rpi-a''. Les autres paramètres fournis seront utilisés pour la connexion SSH que fera ''rpi-b'' vers ''rpi-a'' (l'adresse ''10.0.0.3'' n'a de sens que sur ''rpi-b'', par exemple ici). Toute la configuration relative à la connexion à ''rpi-b'' est dans l'entrée dédiée à ''rpi-b'' dans le fichier de configuration.
  
  
Ligne 206: Ligne 255:
 <code bash> <code bash>
 mkdir -p /run/sshd mkdir -p /run/sshd
 +</code>
 +
 +
 +==== Changer le port d'écoute ====
 +
 +Changer dans le fichier ''/etc/ssh/sshd_config''. Si SystemD est utilisé, il faut aussi modifier le service qui définit la socket ([[https://askubuntu.com/questions/925452/ssh-resets-to-default-port-on-reboot|source]]) :
 +<code bash>
 +systemctl edit ssh.socket
 +</code>
 +Puis y mettre :
 +<code>
 +[Socket]
 +ListenStream=
 +ListenStream=3233
 </code> </code>
  
  
  • linux/ssh.1639329349.txt.gz
  • Dernière modification : 2021/12/12 18:15
  • de phsw