Différences entre les versions de « Ssh »
De BlaxWiki
Aller à la navigationAller à la recherche| Ligne 51 : | Ligne 51 : | ||
ssh -L 9089:localhost:3389 xhark@109.238.2.200 -p443 | ssh -L 9089:localhost:3389 xhark@109.238.2.200 -p443 | ||
Cela aura pour effet de rediriger toutes les requêtes | Cela aura pour effet de rediriger toutes les requêtes tapant en local sur le port 9089 de votre machine 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 | 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. | défaut 3389. | ||
Version du 13 septembre 2011 à 14:19
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 tapant en local sur le port 9089 de votre machine 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.