Page obsolète, à mettre à jour
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.
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).
Vous devez utiliser le terminal :
$ ssh login@machine_distante
ou encore
$ ssh machine_distante -l login
L'option -X 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=
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.
Nota : Il est possible d'enregistrer vos diverses sessions.
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.
Cette méthode d'authentification est bien plus sure que celle par mot de passe.
C'est le cas sur les serveurs “lulu” et “lucy” qui nécessitent 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 à ces serveurs 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é..
Sur votre machine, pour générer votre couple de clés, il suffit de taper dans un shell :
$ ssh-keygen
ou
$ ssh-keygen -t rsa
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.
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/pietroni/.ssh/id_rsa): [...] Enter passphrase (empty for no passphrase): Enter same passphrase again: [...] Your identification has been saved in /Users/pietroni/.ssh/id_rsa. Your public key has been saved in /Users/pietroni/.ssh/id_rsa.pub. The key fingerprint is: cd:b8:da:a3:95:dd:29:f8:b0:38:c1:e4:7e:6d:77:82 pietroni@local_machine.informatique.univ-paris-diderot.fr [...]
(L'affichage peut différer d'un système à l'autre. Ici, la capture provient d'un MacOS 10.6.8)
La clef privée est stockée par défaut dans le fichier ~/.ssh/id_rsa avec les permissions 600 (lisible uniquement par le propriétaire, c'est à dire vous) et la clef publique est stockée dans le fichier ~/.ssh/id_rsa.pub avec les permissions 644 (lisible par tout le monde… normal, elle est “publique”).
Note : 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_rsa): [...] Enter old passphrase: Key has comment '/Users/pietroni/.ssh/id_rsa' Enter new passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved with the new passphrase.
1. 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, il va falloir vous connecter sur une autre machine que “lucy” (bein oui, puisqu'il vous faut une clé pour lucy…). Le serveur “nivose” fera parfaitement l'affaire.
$ scp ~/.ssh/id_rsa.pub login@nivose.informatique.univ-paris-diderot.fr:~/
Cette commande va copier votre clé publique à la racine de votre compte de l'UFR. (Voir les détails de scp plus bas)
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_rsa.pub >> ~/.ssh/authorized_keys
(cette commande concatène votre clé à la fin du fichier authorized_keys).
Vous pouvez désormais vous connecter à lucy.
A faire
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.
$ scp chemin_fichier login@machine_distance:chemin_destination
ou pour un répertoire
$ scp -r chemin_repertoire login@machine_distance:chemin_destination
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.
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
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.
Un mécanisme appelé ssh-agent permet de ne pas rentrer la pass-phrase à chaque fois.
A faire
Créer des alias afin de simplifier l'utilisation de ssh/scp.
A faire
A faire