Différences entre les versions de « Ssh »
De BlaxWiki
Aller à la navigationAller à la recherche| Ligne 48 : | Ligne 48 : | ||
ssh -L <port_local>:<hote_cible>:<port_destination> user@server -pXX | ssh -L <port_local>:<hote_cible>:<port_destination> user@server -pXX | ||
<pre> | <pre> | ||
ssh -L 9089:localhost:3389 xhark@109.238.2.200 -p443 | ssh -L 9089:localhost:3389 xhark@109.238.2.200 -p443 | ||
| Ligne 57 : | Ligne 56 : | ||
</pre> | </pre> | ||
Tunnel SSH avec translation de port dynamique (dynamic forwarding) | Tunnel SSH avec translation de port dynamique (dynamic forwarding) : ssh -D <port_local> <utilisateur>@<hote_cible> -pXX | ||
ssh -D <port_local> <utilisateur>@<hote_cible> -pXX | |||
<pre> | <pre> | ||
ssh -D 8080 xhark@109.238.2.200 -p443 | ssh -D 8080 xhark@109.238.2.200 -p443 | ||
Version du 22 mars 2011 à 17:26
Ssh Chroot
On peut avoir facilement un user chroot en ssh / sftp. Rajouter dans le fichier /etc/ssh/sshd_config
Match user userachrooter
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Le répertoire du user doit appartenir au user root et le group au group du user. Le chmod doit obligatoirement être en 755 ou 751 sur le répertoire.
http://www.debian-administration.org/articles/590
Ssh sans mot de passe
Générer sur le serveur local les clés ssh (ssh-keygen -t dsa), copier le contenu de /home/user1/.ssh/id_dsa.pub sur le serveur distant dans /home/user2/.ssh/autorized_keys. Puis depuis le serveur local ssh user2@w.x.y.z ; la connexion se fera dans demander de mot de passe
Ssh avec restriction de commande
1er cas
Sur le serveur où l'on veut faire la restriction, rajouter dans le .ssh/autorized_keys : from="w.x.y.z/a",no-X11-forwarding,no-agent-forwarding,no-pty,command="..." ssh-rsa AAAAB3NzaC1yc2EAAAABIwAA...." On peut autoriser cette clé publique que pour l'ip w.x.y.z et la commande suivante.
2ème cas
Si le user ne doit faire que du sftp/scp & rsync, installer rssh (lui mettre comme shell rssh) et dans /etc/rssh.conf : allowscp allowsftp allowrsync
Rsync over ssh
Commande de base
rsync -avzn -e ssh tof benbis@w.x.y.z:/home/benbis/ (le -n permet de simuler) Cela va copier le répertoire tof local dans le répertoire /home/benbis/ distant via ssh. Cela évite de faire un scp et d'avoir le daemon rsync qui tourne sur le serveur distant (rsync doit bien sur être installé sur le serveur distant)
Tunnel ssh
ssh -L <port_local>:<hote_cible>:<port_destination> user@server -pXX
ssh -L 9089:localhost:3389 xhark@109.238.2.200 -p443 Cela aura pour effet de rediriger toutes les requêtes arrivant sur le port 9089 de votre machine local vers le port 3389 de la machine distante. Dans cet exemple, il s’agit d’une connexion sur un serveur Windows ayant OpenSSH écoutant sur le port 443. Le but est de réaliser un tunnel SSH pour prendre le contrôle en bureau à distance (RDP) sur le port par défaut 3389.
Tunnel SSH avec translation de port dynamique (dynamic forwarding) : ssh -D <port_local> <utilisateur>@<hote_cible> -pXX
ssh -D 8080 xhark@109.238.2.200 -p443 Dans cet exemple nous ouvrons un tunnel dynamique qui permettra de surfer à travers le tunnel SSH via un proxy de type Socks.