Les communications entre clients et serveurs ne se font plus de manière ouvertes comme à une certaine époque (voir Telnet): un serveur bien configuré ne devait plus accepté de connections non-sécurisées… Par conséquent, la plupart du temps, il faudra utiliser SSH, une méthode par défaut encryptée et sécurisée.
SSH fonctionne avec une logiciel serveur (sshd
), qui fonctionne dans l'arrière-plan du serveur qui reçoit les communications et un logiciel client (ssh
), qui initie les connexions vers un serveur sshd
. Ces deux logiciels sont toujours présents sur Mac OS X et presque toujours présents sur Linux (il est parfois nécessaire d'installer sshd
à part, ssh
étant toujours présent).
Une chose évidente: une telle communication ne peut se faire que si le serveur distant le permet! Par exemple:
sshd
fonctionne sur le serveur distant;sshd
ne bloque pas certains usagers ou certaines adresses IP;username
, utilisez le nom d'usager que vous avez sur le serveur distant. Attention: si vous n'entrez pas de nom d'usager, ssh
utilisera votre nom local, qui pourrais évidemment être différent…
# Première façon: % ssh username@addresse.ip.serveur.distant # Deuxième façon: % ssh username@nom.serveur.distant
ssh
vous demandera alors de tapez le mot de passe pour accéder au serveur distant; simplement procéder tel que demandé ssh
vous demandera d'accepter la clé du serveur distant; simplement taper Yes
. Tapez Y
n'est pas suffisant… Il ne le demandera plus à l'avenir.known_hosts
que vous trouverez dans le répertoire .ssh
qui se trouve dans votre répertoire home
.home
distant.sshd
fait alors pour vous reconnaitre? Il faut simplement lui fournir un preuve de votre identité via une clé publique que vous devez lui fournir.
% ls -al ~/.ssh/id_*.pub
id_rsa.pub
ou bien id_dsa.pub
, vous avez déjà votre clé
# Une possibilité: % ssh-keygen -t rsa -b 4096 -C "votre_courriel@blablabla.org" # Une autre possibilité, en utilisant un autre algorithme de création de clé: % ssh-keygen -t dsa -b 4096 -C "votre_courriel@blablabla.org"
ENTER
pour le choix par défaut ou ne rien mettre..ssh
contenu dans votre répertoire racine: id_rsa
(clé privée) et id_rsa.pub
(clé publique). Il vous faut maintenant transmettre l'information contenu dans id_rsa.pub
au serveur distant:
% ssh-copy-id remoteusername@serveur.blablabla.org
% ssh remoteusername@serveur.blablabla.org