SSH

De UnixWiki
Version datée du 21 mars 2013 à 15:55 par Futex (discussion | contributions) (→‎Gestion des clefs SSH)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Divers

Forcer SSH à utiliser un pseudo-terminal

 # ssh -t root@foo "vi ~/toto"

Tar compresser et transfert en une seule commande

 # ssh toto "cd /tmp ; tar cvf - ./*| bzip2 -9" > /tmp/toto.tar.bz2

Synchroniser deux machines

 # rsync -ve ssh user@foo:/bin/c* /tmp

Gestion des clefs SSH

Générer les clefs SSH, la clef est sauver dans ~/.ssh/id_"$CRYP_TYPE".pub

 # ssh-keygen -t [rsa|dsa|rsa1]

Pour autoriser la connection sur le serveur dispo par clef, il faut recopier sa clef public. 'Si le fichier n'est pas en 700 SSH refusera la connection)

 # ssh foo"umask 077; cat >> .ssh/authorized_keys" < ~/.ssh/id_rsa.pub

Pour lancer ssh-agent, mettre dans son .profile

 test -z "SSH_AUTH_SOCK" && eval 'ssh-agent -s'

Ajouter sa passphrase

 # ssh-add

On peut lister les clefs avec

 # ssh-add -l

Supprimer toutes les clefs SSH

 # ssh-add -D

SSH Forwarding

Activer l'agent de forwarding:

 ssh -A foo

Ou via le fichier config du client

 # cat ~/.ssh/config
   Host foo
   ForwardAgent yes

X11 Forwarding, (option "ForwardX11 yes" dans .ssh/config)

 # ssh -X foo xclock

Port Forwarding

 # ssh -L localport:remotehost:remoteport
 # ssh -L 8080:10.68.16.64:80 foo

Remote Port Forwarding

 # ssh -R 80:10.68.16.64:8080 foo

Dynamic Port Forwarding

 Utiliser l'option -D