Ceci est une ancienne révision du document !
SSH
Linux
Créer une clef
pour avoir une sécurité suffisante avec le maximum de compatibilité il faut utiliser la commande :
ssh-keygen -t ecdsa -b 521
Copier la clef sur le serveur :
Depuis l'ordi avec la clef privée :
ssh-copy-id -i id_XXXX.pub user@machine
Depuis un autre ordi
ssh-copy-id -f -i id_XXXX.pub user@machine
Transformer une clé Putty (ppk) en clé Open SSH
sudo apt-get install putty-tools
Récupérer votre clé .ppk que vous mettez admettons dans Téléchargements (nommée cle.ppk).
Dans le terminal, aller dans le bon répertoire /Téléchargements, puis :
puttygen cle.ppk -O public-openssh -o id_rsa.pub puttygen cle.ppk -O private-openssh -o id_rsa
Pour la 2e commande, il va vous demander votre passphrase si vous en aviez configuré une.
Ensuite, déplacer les clés dans le répertoire /home/[votre-user]/.ssh
Ne pas oublier:
chmod 0600 id_rsa
Pour que la clé ne soit pas accessible à tout le monde.
Utiliser la clef
Par exemple pour ne pas redonner le mot de passe de déverrouillage à chaque connexion ssh (rend l'utilisation de la clef moins pratique), il faut utiliser un gestionnaire de clef ssh. Le choix va dépendre de son environnement de bureau. Dans mon cas sous Xfce le service gnome correspondant n'était pas lancé automatiquement. Il faut donc vérifier que libpam-ssh-agent-auth est installé et qu'il soit lancé au démarrage avec : SSh Key Agent (GNOME Keyring: SSH Agent)
Partager un terminal à plusieurs
Si vous souhaitez partager à plusieurs le contenu d'un terminal sur un PC Linux (par exemple un utilisateur sur le PC local et un autre à distance), il vous faut :
- un accès chacun au PC : 1 en direct et un autre à distance en SSH, ou bien les 2 à distance en SSH
- que les 2 utilisateurs aient accès au même compte utilisateur (root ou un utilisateur commun)
a. Procédure avec screen
- un des 2 utilisateurs lance un screen en nommant une session
screen -S masession
- Le second utilisateur peut lister les sessions screen existantes avec :
screen -ls
- Puis il lance un screen pour se raccrocher à une session existante
screen -x masession
- Et c'est bon, tout le monde voit ou peut interagir dans le screen commun. Attention aux frappes simultanées !
- Pour sortir de la session et se déconnecter du screen qui devient libre :
screen -d
Attention, si on quitte le termnial avec Ctrl+d ou exit, la session screen est tuée, terminée. Il faut en recrééer une nouvelle pour s'y rattacher
b. Procédure avec tmux
A détailler, mais un peu pareil : http://www.chtiland.fr/lib/exe/fetch.php?media=informatique:divers:tmux_linux_v1.0.pdf
Windows
Vous aurez besoin de PUTTY & PUTTYgen
Pour générer la clé, nous pouvons utiliser PUTTYgen. Le lancer, et cliquer sur Generate. Il faut ensuite bouger la souris sur le rectancle pour générer une clé aléatoire. Vous pouvez renseigner une “passphrase ” (en gros, un mot de passe) pour sécuriser la clé (fortement recommandé). S'assurer de garder la passphrase en lieu sûr et ne pas la perdre. Ensuite il faut Save public key & Save private key. S'assurer de ne pas perdre la clé privée.
Par la suite il faudra copier la clé publique sur le serveur ou la machine que vous voulez joindre.
Dans Session, renseignez le Host name ou l'adresse IP du serveur/machine à joindre.
Sélectionnez SSH.
Changez le port s'il est spécifique.
Dans Connection / Data → Renseigner le nom d'utilisateur
Puis dans Connection / SSH / Auth → tout en bas, cliquer sur Browse, et sélectionner le fichier ppk généré auparavant par PUTTYgen
Retourner dans Session, écrire un nom dans Saved Sessions et cliquer sur Save.
Ensuite cliquer sur Open.
Il vous faudra renseigner votre passphrase lors de la connexion.