Ssh
De BlaxWiki
Révision datée du 13 janvier 2011 à 19:28 par 217.174.199.129 (discussion)
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
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.
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)