Connection à l'IDRIS avec les clés SSH

Génération des clés privées et publiques sur votre machine locale

Les connexions par clés ssh sont autorisées à l'IDRIS. La procédure de génération est décrite ci-dessous. Lors de la génération de ces clés, vous devez rentrer un mot de passe (phrase de passe) pour protéger votre clé privée, cette phrase de passe vous sera alors demandée à chaque connexion ou une seule fois si vous utilisez l'agent ssh-agent.

Les clés sont générées par la commande suivante. Trois questions vous sont posées. Nous vous conseillons de taper RETURN à la première. À la seconde et à la troisième, entrez votre phrase de passe qui protégera vos clés.

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/machine-locale/login/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/machine-locale/login/.ssh/id_rsa.
Your public key has been saved in /home/machine-locale/login/.ssh/id_rsa.pub.
The key fingerprint is:
26:e3:d4:29:b7:5b:29:15:d7:68:39:eb:a3:12:0b:02 login@machine-locale.domaine.fr

Deux fichiers : id_rsa et id_rsa.pub sont créés dans le répertoire .ssh de la machine locale. La clé publique doit ensuite être ajoutée dans le fichier authorized_keys du répertoire ~/.ssh de la machine distante.

Transfert du fichier contenant la clé publique sur la machine distante

La commande ci-dessous est à passer depuis votre machine locale. Elle vous permet de transférer la clé publique dans le fichier authorized_keys du répertoire ~/.ssh de la machine distante.

$ ssh-copy-id rlabxxx@machine.idris.fr 


Attention : pour que la clé soit prise en compte, seul votre login doit avoir les accès en écriture sur les répertoires $HOME et $HOME/.ssh ainsi que sur le fichier $HOME/.ssh/authorized_keys. Voici comment se passera alors une connexion de votre machine locale vers une machine de l'IDRIS :

$ ssh rlabxxx@machine.idris.fr
Enter passphrase for key '/home/machine-locale/login/.ssh/id_rsa':

Utilisation de l'agent ssh-agent pour ne taper qu'une seule fois sa phrase de passe

L'agent ssh-agent

Il faut taper les deux commandes suivantes sur votre machine locale.

$ eval 'ssh-agent'
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/machine-locale/login/.ssh/id_rsa:
Identity added: /home/machine-locale/login/.ssh/id_rsa
(/home/machine-locale/login/.ssh/id_rsa)

Attention : la connexion pourra se faire sans saisie de la phrase de passe seulement pendant la durée de vie de l'agent. Vous devrez donc le relancer à chaque nouvelle session.

Si vous êtes en environnement Windows et que vous utilisez le client SSH Putty, vous pouvez également utiliser le programme Pageant fourni avec Putty.

Recommandations de l'IDRIS

Pour plus de sécurité, nous vous demandons quatre choses :

  • prendre toutes les précautions sur votre poste de travail pour protéger votre clé privée (phrase de passe solide, droits d'accès restrictifs),
  • ne pas copier votre clé privée sur les serveurs de l'IDRIS,
  • générer des clés RSA d'au moins 4096 bits, ou d'utiliser des algorithmes de cryptographie sur les courbes elliptiques (ECDSA, ed25519)
  • vérifier que les empreintes (fingerprint) des clés publiques des serveurs SSH de l'IDRIS sur lesquels vous vous connectez sont bien référencées dans la liste donnée sur notre site web. Par exemple, lors de votre première connexion, vous devrez vérifier que l'empreinte SHA256 ci-dessous est bien celle de la frontale jean-zay dans cette liste et répondre “yes” si c'est le cas :

    $ ssh login_jean-zay@jean-zay.idris.fr
    The authenticity of host 'jean-zay.idris.fr (130.84.132.18)' can not be established.
    ECDSA key fingerprint is SHA256:vJ+SJBxXvPqnPd3/clChlrHI59a06vZxsxUHrA2jZ+k.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? 
  • restreindre ces clés à la seule utilisation des machines que vous avez déclarées dans les filtres de l'IDRIS. Pour cela, vous devez éditer le fichier authorized_keys de votre machine locale et ajouter au début de chaque ligne contenant une clé générée sur une des machines de l'IDRIS, la chaîne de caractères suivante :
    • from=“votre_ip” ou éventuellement ;
    • from=machine.domaine_local.fr” ou ;
    • from=“*.machine.domaine_local.fr”.

      $ cat authorized_keys
      from="machine.domaine_local.fr" ssh-rsa AAAAB3NzaC1yc2EA...........