Outils pour utilisateurs

Outils du site


support:ssh

Connexion distante aux machines

Pour vous connecter aux machines de l'UFR d'informatique, vous avez besoin d'un login et d'un mot de passe qui vous sont distribués par l'administrateur en début d'année. Vous pouvez aussi vous connecter à certains serveurs, depuis les salles TD de l'UFR, ou depuis chez vous.

Seuls certains serveurs sont accessibles depuis l'extérieur. Vous pouvez les utiliser comme passerelles d'accès afin de “rebondir” vers d'autres machines de l'UFR. Il est interdit de se connecter depuis le campus vers une machine extérieure à l'université. Ceci est une restriction de sécurité de RENATER.

Connexion depuis une machine de l'UFR vers un serveur/une machine de l'UFR

  1. Depuis la page de login, choisir Menu / connexion distante
  2. Entrez ou choisissez le nom du serveur sur lequel vous connecter
  3. Entrez votre login et votre mot de passe.

Connexion sécurisée en SSH

SSH est un protocoles permettant de se connecter à un ordinateur distant. A la différence d'autres protocoles non sécurisés comme Telnet ou rlogin qui véhiculent l'information en clair, SSH nécessite une authentification mutuelle du client et du serveur et les données sont chiffrées.

L'authentification se fait par mot de passe ou par clé publique.

SSH est présent nativement sous les systèmes Unix et MacOS. Sous Windows, il existe plusieurs utilitaires pour vous permettre de vous connecter en SSH (par ex : putty).

Sous Unix/Macos X

Vous devez utiliser le terminal :

$ ssh login@machine_distante

ou encore

$ ssh machine_distante -l login

L'option -X (ou sa variante moderne -Y) est très pratique. Elle permet d'activer le transfert X11 et donc de lancer des applications X11 à travers le tunnel SSH.

$ ssh -X login@machine_distante

La première fois que vous vous connectez à une machine, un message comme ci-dessous apparait :

The authenticity of host 'machine_distante (194.254.199.xx)' can't be established.
RSA key fingerprint is 66:c7:c2:e5:2d:f5:5e:07:f6:95:d2:86:60:7c:ba:b8.
Are you sure you want to continue connecting (yes/no)?

Il vérifie que c'est la bonne machine. répondez “yes”.

Warning: Permanently added 'machine_distante,194.254.199.xx' (RSA) to the list of known hosts.

SSH vient de rajouter l'identité de la machine distante à votre liste d’hôtes connus. Vous pouvez vérifier dans le fichier ~/.ssh/known_hosts que l'identité de la machine est bien présente.

$ cat known_hosts 
machine_distante,194.254.199.xx ssh-rsa AAAAB3NzarrrrrEAAAABIwAAAIEAujbhYY2pJVXylsYHzz
zzzBHghQhcZD58sI3zFO0wFHwWf/sGrmy3lbGcLxxxxxW3r2OzMM58d00V9Jrzwyhkn3mEaKxgvj/m9WOtJBRUgr
p+hosgdWfHd4JbiezraezrtAkveq0APngg+mopEbajFzyAZERTYjVAAW84CIE90=

Sous windows : putty

Putty est un petit utilitaire qui permet de faire des connexions SSH sous Windows.

Téléchargez putty.exe à cette adresse : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Il s'agit d'un exécutable, pas besoin d'installation. Placez le fichier à l'endroit qui vous convient et lancez le.

  • host Name (or IP Address) : Indiquez l'adresse IP ou le nom complètement qualifié du serveur que vous voulez contacter (par exemple: nivose.informatique.univ-paris-diderot.fr ou 194.254.199.73)
  • Protocol : Cochez SSH
  • Cliquez sur Open.
  • A l'invite de commande, entrez votre login et votre mot de passe.

Nota : Il est possible d'enregistrer vos diverses sessions.

Authentification par clef

Au lieu de s'authentifier par mot de passe, les utilisateurs peuvent s'authentifier grâce à un couple de clefs privée/publique. C'est ce qu'on appelle la cryptographie asymétrique. Deux clés distinctes mais liées par un algorithme de chiffrement.

  • La clé publique qui est distribuée sur les systèmes sur lesquels vous voulez vous connecter.
  • La clé privée, protégée par un mot de passe, qui reste stockée sur votre machine local et qui ne doit en aucun cas être divulguée.

Cette méthode d'authentification est bien plus sure que celle par mot de passe.

C'est le cas sur le serveur “lulu” qui nécessite l'utilisation d'une clé publique pour vous connecter. Suivez les indications ci-dessous pour générer vos clés et les déployer sur votre compte. Voir également la page dédiée à ce serveur linux à l'UFR.

Attention aux permissions de votre homedir. Si “group” ou “other” ont les droits d'écriture (ce que vous ne devriez pas faire, pour des raisons évidentes de sécurité), alors sshd refusera toute connexion par clé publique. En effet, n'importe qui pourrait modifier .ssh/authorized_keys (voir ci-dessous), et se connecter sur votre compte en usurpant votre identité..

Génération des clés

Sur votre machine, pour générer votre couple de clés, il suffit de taper dans un shell :

$ ssh-keygen

Lors de la génération de clés, SSH vous demande de rentrer une pass-phrase qui est le mot de passe qui va protéger la clef privée. Mémorisez bien cette pass-phrase car elle vous sera demandée à chaque fois que vous vous connecterez en utilisant cette méthode d'authentification.

Selon les machines, différents protocoles peuvent être utilisés pour générer ces clés. Il est recommandé d'utiliser le protocole “ed25519” qui est maintenant le standard sur les machines modernes, à la place du protocole historique “rsa”. Au besoin, on peut choisir son protocole via l'option -t de ssh-keygen, par exemple ssh-keygen -t ed25519. Attention aux noms des fichiers de clés obtenus : ~/.ssh/id_ed25519.pub pour la clé publique et ~/.ssh/id_ed25519 pour la clé privée, au lieu des anciens id_rsa.pub et id_rsa. La clef privée est stockée par défaut avec les permissions 600 (lisible uniquement par le propriétaire, c'est à dire vous) et la clef publique est stockée avec les permissions 644 (lisible par tout le monde… normal, elle est “publique”).

$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/pietroni/.ssh/id_ed25519):
[...]
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
[...]
Your identification has been saved in /Users/pietroni/.ssh/id_ed25519.
Your public key has been saved in /Users/pietroni/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:2NA22BwYOlFO4G15jaQ3lX1mBH0wiGVWKcBzAt1nBn8 pietroni@local_machine.informatique.univ-paris-diderot.fr
[...]

(L'affichage peut différer d'un système à l'autre)

Note : Si besoin, vous pouvez modifier votre pass-phrase avec l'option -p de ssh-keygen.

$ ssh-keygen -p
Enter file in which the key is (/Users/pietroni/.ssh/id_ed25519):
[...]
Enter old passphrase: 
Key has comment '/Users/pietroni/.ssh/id_ed25519'
Enter new passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved with the new passphrase.

Déploiement et autorisation de votre clef publique

Afin d'autoriser votre clé publique nouvellement générée, vous devez la copier sur votre compte de l'UFR. Pour accéder à votre compte de l'UFR, seul le serveur “nivose” est à la fois visible de partout et accepte une première connexion sans clé ssh. Si vous disposez de l'utilitaire ssh-copy-id, la commande suivante suffit pour tout mettre en place:

$ ssh-copy-id -i login@nivose.informatique.univ-paris-diderot.fr

Sinon, faire manuellement les deux étapes suivantes:

1. Copier votre clé publique dans votre compte de l'UFR, par exemple à la racine (Voir les détails de scp plus bas)

$ scp ~/.ssh/id_ed25519.pub login@nivose.informatique.univ-paris-diderot.fr:~/

2. Connectez vous sur nivose en ssh

$ ssh login@nivose.informatique.univ-paris-diderot.fr

et ajoutez votre clé publique à votre fichier ~/.ssh/authorized_keys:

$ cat ~/id_ed25519.pub >> ~/.ssh/authorized_keys

(cette commande concatène votre clé à la fin du fichier authorized_keys).

Vous pouvez désormais vous connecter à “lulu” en suivant les instructions de la page linux.

Génération de clé sous Windows : puttygen

:!: A faire

SCP : Copie sécurisée de fichiers

SCP permet de tranférer ou de récupérer un fichier ou un répertoire vers/à partir d'une autre machine. Pour les options de transfert, reportez vous au man de scp.

Transférer un fichier vers une machine distante :

$ scp chemin_fichier login@machine_distance:chemin_destination

ou pour un répertoire

$ scp -r chemin_repertoire login@machine_distance:chemin_destination
  • chemin_fichier/chemin_repertoire est l'emplacement de votre fichier/repertoire sur votre machine locale (par exemple ~/documents/fichier.txt)
  • login@machine_distante : La syntaxe est similaire à SSH
  • :chemin_destination est l'emplacement où vous voulez copier votre fichier sur la machine distante (par exemple :~/mes_fichiers/)

Exemples

$ scp ~/fichier1.txt pietroni@nivose.informatique.univ-paris-diderot.fr:/tmp/

Copie fichier1.txt qui est dans mon home_dir vers la machine nivose, dans le répertoire /tmp.

$ scp fichier1 fichier2 fichier3 pietroni@194.254.199.73:

Copie les 3 fichiers vers le répertoire racine sur la machine 194.254.199.73.

$ scp fich* pietroni@194.254.199.73:

Vous pouvez utiliser des caractères de substitution.

$ scp fichier1.txt pietroni@machine_distante:~/fichier2.txt

copier fichier1.txt et le renomme en fichier2.txt sur la machine distante.

Récupérer un fichier depuis une machine distante :

L'action inverse est également possible. Vous pouvez récupérer un fichier depuis une machine distante et le copier sur votre machine locale.

$ scp login@machine_distante:chemin_fichier_distant chemin_local_destination

ou pour un répertoire :

$ scp -r login@machine_distante:chemin_repertoire_distant chemin_local_destination
  • login@machine_distante : toujours la syntaxe SSH
  • :chemin_fichier_distant/chemin_repertoire_distant : l'emplacement du fichier à récupérer sur la machine distante.
  • chemin_local_destination : L'emplacement où vous voulez copier le fichier sur votre machine locale.

Exemple

$ scp pietroni@nivose.informatique.univ-paris-diderot.fr:~/fichier2.txt ~/Mes_Documents/

Récupère fichier2.txt situé sur la machine nivose dans mon home_dir, et le copier dans mon répertoire local Mes_Documents.

Trucs et astuces

Se connecter en SSH sans taper de mot de passe

Un mécanisme appelé ssh-agent permet de ne pas rentrer la pass-phrase à chaque fois. Sur les systèmes proposant ce ssh-agent, commencer par taper dans un shell la commande ssh-add et saisir sa pass-phrase, qui est alors mémorisé jusqu'à la fin de la session.

:!: A finir

Utilisation des alias

Créer des alias afin de simplifier l'utilisation de ssh/scp.

:!: A faire

SSH/SCP en mode graphique

  • sous windows : Tunnelier
  • sous macos : Cyberduck
  • etc.

:!: A faire

support/ssh.txt · Dernière modification : de 91.242.162.7