technique:ssh

SSH

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
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.

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)

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)
  • installer un outil de partage de terminal sur le PC sur lequel on partage le terminal : screen ou tmux
  1. un des 2 utilisateurs lance un screen en nommant une session
    screen -S masession
  2. Le second utilisateur peut lister les sessions screen existantes avec :
    screen -ls
  3. Puis il lance un screen pour se raccrocher à une session existante
    screen -x masession
  4. Et c'est bon, tout le monde voit ou peut interagir dans le screen commun. Attention aux frappes simultanées ! :-)
  5. 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

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.

  • technique/ssh.txt
  • Dernière modification: 2020/04/17 20:28
  • de marionr