jeudi 17 janvier 2008, par patrick Deflandre
Générer un couple clef privé / clef publique :
ssh-keygen -t dsa
Changer le mot de passe de sa clef privée :
ssh-keygen -p
Copier sa clef publique sur un serveur par le réseau :
ssh-copy-id -i ~/.ssh/id_dsa.pub login@nom_du_serveur
Pour empêcher la connexion par mot de passe :
ChallengeResponseAuthentication no
PasswordAuthentication noJe ne suis pas certain à 100% lequel est le bon...
Pour restreindre la connexion à certains utilisateurs :
AllowUsers user1
Pour empêcher la connexion de root :
PermitRootLogin no
Cela oblige au moins l’attaquant à trouver un login...
Par défaut, ssh ne sait pas se connecter à un serveur si le client est placé derrière un proxy. Pour ajouter cette fonctionnalité, il faut :
installer le paquet connect-proxy
apt-get install connect-proxy
ajouter un fichier /.ssh/config (juste pour un compte) ou /etc/ssh/ssh_config (configuration globale) contenant les lignes suivantes :
# on n'a pas besoin de connect pour le reseau local
# il faut modifier ou ajouter des lignes Host pour décrire votre réseau local
Host 192.168.0.*
ProxyCommand /usr/bin/connect %h %p
# toutes les autres adresses utilisent la commande connect
# il faut remplacer l'adresse IP et le port par les valeurs de votre proxy
Host *
ProxyCommand /usr/bin/connect -H 192.168.0.1:8080 %h %p
On peut alors se connecter sans problème à un hôte par la commande classique : ssh identifiant@serveur
copie de fichier
scp [[user@]host1:]file1 ... [[user@]host2:]file2
copie de répertoire en tenant compte des droits des fichiers, mais pas des utilisateurs :
scp -rp [[user@]host1:]rep1 ... [[user@]host2:]rep2
Pour copier un répertoire distant sur sa machine
ssh IPDISTANTE tar cpf - /chemin/du/repertoire/distant | tar xvf -
Pour copier un répertoire local vers une machine distante :
tar cpf - leRepertoireLocal | ssh IPDISTANTE "(cd /chemin/du/repertoire/distant/ ; tar xvf -)"
en remplaçant IPDISTANTE par l’adresse ip de l’hôte à contacter