Ssh

De Linuxmemo.


Sommaire

Serveur

Config

/etc/ssh/sshd_config

Client

Config par défaut

/etc/ssh/ssh_config

Dépannage

Droits sur les cles

Il faut vérifier les droits sur les clés, SSH nécessite que:

  • le dossier .ssh ait les permissions 700 (rwx pour l'utilisateur, rien pour le groupe et les autres),
  • les clés privées ainsi que authorized_keys 600 (rw pour l'utilisateur, rien pour le groupe et les autres)
  • les clés publiques 644 (rw pour l'utilisateur, read pour le groupe et les autres).
  • Il faut aussi vérifier que chaque clé tient sur une ligne dans authorized_keys (même si elle apparait sur plusieurs ligne a l'écran, dans le fichier elle ne correspond qu'à une ligne).

Tunnel

Il existe 3 approches:

-L locale pour rediriger un port distant vers une destination (machine) locale
-R distante (remote) pour rediriger un port local vers une destination (machine) distante
-D dynamique pour un transfert de port dynamique basé sur SOCKS
ssh -L [port d'entrée du tunnel]:[adresse_client]:[port de sortie du tunnel] [utilisateur@adresse_du_serveur]
ssh -L 2080:localhost:80 utilisateur@serveurweb.org

Reverse

sur distant (derriere le FW au boulot)

ssh-agent
ssh-add
ssh -NR 22222:localhost:22 user_maison@maison
ou bien avec autossh plutôt
autossh -i /path/to/privateKey.rsa -f -NR 22222:localhost:22 user_maison@maison

sur local (maison)

ssh -p 22222 user_boulot@127.0.0.1

Scp avec .ssh/config

vim .bash_aliases
alias scp="scp -F .ssh/config"
source .bashrc

x11 forwarding avec rebond

Activer le X11Forwarding sur tout les serveurs

sshd_config (client --> rebond --> serveur):
X11Forwarding yes

Activer le X11Forwarding sur tout les client

ssh_config (client --> rebond --> serveur):
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

lancer la connexion sur le client:

ssh -t relais ssh -p22222 -X serveur

lancer l'application distante

gedit

Tunnel HTTP pour faire du SSH

  • Sur le serveur (distant)
sudo apt-get install httptunnel
sudo hts --forward-port xx.xx.xx.xx:22 80

où xx.xx.xx.xx est l'adresse du serveur ssh

  • Sur la machine client
sudo apt-get install httptunnel
htc --forward-port 2222 yy.yy.yy.yy:80

où yy.yy.yy.yy est l'adresse de la machine client

htc -P zz.zz.zz.zz --proxy-authorization USER:PASSWORD --forward-port 2222 E.F.G.H:80

si il y a un proxy où zz.zz.zz.zz est son adresse

  • démarrage du programme client
ssh localhost -p 2222
Outils personnels