Secure shell

De Bricosoft.

(Redirigé depuis Ssh)

ssh, Secure shell ou coquillage sécurisé est un protocole de communication beaucoup plus mieux que telnet.

Sommaire

Authentification SSH par clés

Sur votre terminal, générez la paire de clé privée-publique.

toto@ordi$ sudo -s
root@ordi# mkdir /root/rsync
root@ordi# ssh-keygen -t rsa -f /root/rsync/cle-ssh-rsync-ordi
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/rsync/cle-ssh-rsync-ordi.
Your public key has been saved in /root/rsync/cle-ssh-rsync-ordi.pub.
The key fingerprint is:
11:92:6b:5f:75:11:59:7e:a6:4e:d4:47:a6:3d:28:a2 root@ordi

Copie de la clé publique

à la mano

La méthode décomposée est de copier la *clé publique* sur le serveur à administrer :

root@ordi# scp /root/rsync/mirror-rsync-key.pub toto@serveur:/home/toto/

Maintenant sur le serveur, ajoutez la clé fraichement copiée dans la liste de clés ssh du compte utilisateur. Si ~/.ssh/authorized_keys n'existe pas créez les.

toto@serveur:~$ cd ~/.ssh/
toto@serveur:~/.ssh$ cat ~/cle-ssh-rsync-miroir.pub >> authorized_keys

Empêchez l'écriture pour le groupe et les autres :

toto@serveur:~/.ssh$ chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys

avec ssh-copy-id

L'alternative est d'utiliser ssh-copy-id qui installe votre clé publique à la suite du authorized_keys de la machine distante :

ssh-copy-id -i ~/.ssh/id_dsa.pub toto@serveur.zz

L'argument i pointe la clé publique (défaut : ~/.ssh/id_rsa.pub)

Pour un port différent :

ssh-copy-id -i ~/.ssh/id_dsa.pub "-p 6666" toto@serveur.zz

Diff d'un fichier local avec un distant

Comparaison entre fichier via ssh.

$ ssh -p 4242 toto@serveur.zz cat /chemin/vers/fichierdistant.txt | diff -b /chemin_vers/fichierlocal.txt -

L'on peut garder le port dans un coin (~/.ssh/config) si l'on n'a pas la mémoire des chiffres :

$ whoami
god
$ ssh www.serveur.zz
ssh: connect to host www.serveur.zz port 22: Connection refused
$ echo -e "host www.serveur.zz\n Port 4242" >> ~/.ssh/config
$ ssh www.serveur.zz
Linux www.serveur.zz blablabla...

Copie d'un fichier distant dans le presse-papier local

Qui n'a jamais rêvé un jour d'envoyer le contenu d'un looooooooooooong fichier directement dans le presse-purée papier ? Qui n'a jamais rêvé de ces mondes souterrains, de ces mers lointaines, peuplées de légendes, ou d'une richesse soudaine qui se conquerrait au détour d'un chemin de la Cordillère des Andes. Qui n'a jamais souhaité voir le soleil souverain guider ses pas au cœur du pays Inca, vers la richesse et l'histoire des Mystérieuses Cités d'Or ?

$ sudo apt-get install xclip
$ ssh -p 4242 toto@serveur.zz cat ~/.bashrc | xclip

Et voilà, zavez plus qu'à coller où vous souhaitez (clic sur bouton du milieu de la souris, Einstein !).

Limitation de bande passante

Pour ne pas boucher le tuyau :

  • tar -cvvj mes_trucs/ | cstream -t -80k | ssh -p 5555 toto@serveur.com tar -xj -C /home/toto/mes_trucs_sauves_a_distance

ici, va cstream va essayer de limiter la bande passante sans dépasser les 80 kilo octets par secondes.

Si le dépassement ponctuel ne gène pas enlever le '-' de 80k :

  • tar -cj mes_trucs/ | cstream -t 80k | ssh -p 5555 toto@serveur.com tar -xj -C /home/toto/mes_trucs_sauves_a_distance

Erreurs courantes

WARNING: UNPROTECTED PRIVATE KEY FILE!

WARNING: UNPROTECTED PRIVATE KEY FILE! plutôt stressant n'est ce pas ? Ben t'as dû de gourrer en spécifiant la clé pauv cloche.

$ scp -P 666 -i mes_poemes.doc /home/toto/.ssh/id_rsa_plop toto@8.7.6.5:/home/toto/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for 'mes_poemes.doc' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: mes_poemes.doc
gtoto@8.7.6.5's password: 

Ici, le -i devrait être immédiatement suivi de /home/toto/.ssh/id_rsa_plop

Liens

Outils personnels
Plus