« Astuces ssh » : différence entre les versions
De WikiBR
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 4 : | Ligne 4 : | ||
==Mettre la clef sur le serveur cible :== | ==Mettre la clef sur le serveur cible :== | ||
$ ssh-copy-id -i ./ssh/id_dsa.pub serveur | |||
ou bien ( en moins bien ) : | |||
$ ssh serveur "cat >> .ssh/authorized_keys" < ./ssh/id_dsa.pub | $ ssh serveur "cat >> .ssh/authorized_keys" < ./ssh/id_dsa.pub | ||
Ligne 26 : | Ligne 28 : | ||
chown root:root ssh-aliases && | chown root:root ssh-aliases && | ||
chmod 755 ssh-aliases && | chmod 755 ssh-aliases && | ||
mv ssh-aliases | mv ssh-aliases ~/bin # ou ailleurs dans votre path, si c'est votre machine. | ||
enfin supposons que toutes les machines habituelles aient leur nom dans le fichier './machines' : | enfin supposons que toutes les machines habituelles aient leur nom dans le fichier './machines' : | ||
for namae in $(cat machines); do | for namae in $(cat machines); do | ||
ln -s | ln -s ~/bin/{ssh-aliases,$namae} | ||
done | done | ||
Version du 26 janvier 2009 à 14:26
Créer un couple de clefs :
$ ssh-keygen -t dsa
Utiliser un password pour crypter la clef est important...
Mettre la clef sur le serveur cible :
$ ssh-copy-id -i ./ssh/id_dsa.pub serveur
ou bien ( en moins bien ) :
$ ssh serveur "cat >> .ssh/authorized_keys" < ./ssh/id_dsa.pub
Pour ne pas avoir à décrypter la clef à chaque utilisation, mais tout en la gardant en sécurité :
Démarrer ssh-agent:
$ eval $(ssh-agent)
Ajouter une clef :
$ ssh-add
Forwarder l'agent (ie ne pas avoir à mettre de clef sur B pour faire ssh B puis ssh C depuis B ) :
ForwardAgent yes
Dans les .ssh/config de tous les hosts qui servent de relai, à défaut, utiliser -A dans la ligne de commande de ssh.
Utiliser des pseudo alias :
Dans un fichier texte ssh-aliases
#!/bin/bash ssh $(basename $0) "$@"
puis le rendre utilisable :
chown root:root ssh-aliases && chmod 755 ssh-aliases && mv ssh-aliases ~/bin # ou ailleurs dans votre path, si c'est votre machine.
enfin supposons que toutes les machines habituelles aient leur nom dans le fichier './machines' :
for namae in $(cat machines); do ln -s ~/bin/{ssh-aliases,$namae} done
Maintenant il suffit de taper le nom de la machine pour avoir un shell dessus.
Le principe est que le script écrit plus haut regarde comment il a été appelé et invoque ssh en fonction.