Ssh
De Linuxmemo.
(Différences entre les versions)
(→Tunnel HTTP pour faire du SSH) |
(→Tunnel HTTP pour faire du SSH) |
||
| Ligne 70 : | Ligne 70 : | ||
htc --forward-port 2222 yy.yy.yy.yy:80 | htc --forward-port 2222 yy.yy.yy.yy:80 | ||
où yy.yy.yy.yy est l'adresse de la machine client | 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 | + | htc -P zz.zz.zz.zz --proxy-authorization USER:PASSWORD --forward-port 2222 yy.yy.yy.yy:80 |
si il y a un proxy où zz.zz.zz.zz est son adresse | si il y a un proxy où zz.zz.zz.zz est son adresse | ||
*démarrage du programme client | *démarrage du programme client | ||
ssh localhost -p 2222 | ssh localhost -p 2222 | ||
Version du 26 février 2015 à 13:39
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 yy.yy.yy.yy:80
si il y a un proxy où zz.zz.zz.zz est son adresse
- démarrage du programme client
ssh localhost -p 2222