SSH est un outil très puissant permettant d’établir une connexion chiffrée entre une machine client et une machine serveur. Cet outil est principalement utilisé pour faire de l’administration sécurisée a distance, mais peux aussi servir a de nombreuses autres utilisations, notamment a réaliser des tunnels chiffrés.
Une connexion SSH peut également servir à faire du transfert de fichier crypté, via le sftp (SSH file transfer protocol)


1.1 Installation à partir des packages de sa distribution
-Les utilisateurs de Mandriva, tapez : urpmi openssh openssh-clients openssh-server. Votre $SYSCONFDIR a pour valeur /etc/ssh.
-Les utilisateurs de Fedora, tapez : yum install openssh openssh-clients openssh-server. Votre $SYSCONFDIR a pour valeur /etc/ssh.
-Les utilisateurs de Debian, tapez : apt-get install ssh. Votre $SYSCONFDIR a pour valeur /etc/ssh.

-Les utilisateurs de Slackware, vous disposez du package openssh suivant : n/openssh-xxx.tgz. Il vous suffit de l'installer par : installpkg /où_est/openssh-xxx.tgz. Votre $SYSCONFDIR a pour valeur /etc/ssh.


Exp :

Installation sous linux

Fedora

# rpm -Uvh openssh-5.0p1-fc4.1.i386.rpm
# rpm -Uvh openssh-client-5.0p1-fc4.1.i386.rpm
# rpm -Uvh openssh-server-5.0p1-fc4.1.i386.rpm
Mandriva

# urpmi openssh
# urpmi openssh-server
# urpmi openssh-clients
Debian

# apt-get update
# apt-get install ssh
Ubuntu

% sudo apt-get install openssh-server
Installation sous FreeBSD

Il faut installer les 2 port suivant : 
/usr/ports/security/openssl/
/usr/ports/security/openssh-portable/

# portinstall openssl -m '-DOPENSSL_OVERWRITE_BASE'
# portinstall openssh-portable -m '-DOPENSSH_OVERWRITE_BASE'
Installation sous MacOSX

Ouvrez donc vos Préférences Système... et sélectionnez l'onglet service du menu Partage. Renseignez alors les champs Nom de l'ordinateur qui sera utilisé comme identifiant réseau pour votre machine. Puis sélectionner l'option Session à distance afin d'activer le serveur SSH.



Installation générique

Décompresser les fichiers suivant après les avoir téléchargé sur les sites openssl.org et openssh.org :

> tar zxvf openssl-0.9.8.tar.gz
> tar zxvf openssh-5.0p1.tar.gz

Voici un document qui vous servira à installer et utiliser SSH sous Linux Debian !
Installation et configuration de SSH
apt-get install openssh-client openssh-server
Une fois les paquets installés, le client et le serveur seront directement utilisables.

Cependant, il est préférable pour augmenter la sécurité, de modifier le fichier de configuration :
nano /etc/ssh/sshd_config

Pour interdire la connexion directe sous root, modifier la ligne suivante :
PermitRootLogin no
Ajouter la ligne suivante pour autoriser uniquement l’utilisateur debian-user
AllowUsers debian-user

Redémarrer le démon pour prendre en compte les modifications
/etc/init.d/ssh restart
Se connecter à un serveur distant


La commande suivante, permet de se connecter au serveur debian-server.
ssh debian-server


Il est possible de se connecter avec un autre login avec le paramètre -l
ssh -l root debian-server
qui est équivalent à

ssh root@debian-server
Connexion à un serveur SSH via un autre serveur SSH


Si vous avez deux serveurs SSH mais qu’il est nécessaire de se connecter au premier pour pouvoir accéder au deuxième, cette commande permet de réaliser les deux connexions.
ssh root@serveur1 -t ssh root@serveur2
C’est surtout intéressant si la connexion aux serveurs se fait via une clé publique.
Connexion SSH en utilisant une clé privée et une clé publique

Une connexion SSH en utilisant une clé privée et une clé publique est plus sécurisée qu’une connexion classique par mot de passe. De plus elle permet d’éviter de ressaisir un mot de passe à chaque connexion.
.Création de la clé privée et de la clé publique
La clé privée : id_dsa
La clé publique : id_dsa.pub

ssh-keygen -t dsa

Après la saisie de la pass-phrase (Mot de passe long), cette commande va générer deux fichiers dans le dossier /.ssh du répertoire utilisateur. Ensuite, il faut exporter la clé publique sur le ou les serveurs distant à utiliser avec ssh.
ssh-copy-id -i .ssh/id_dsa.pub root@debian-server
Après la copie de cette clé, à chaque connexion via ssh, la pass-phrase sera demandée.
Pour éviter de saisir la pass-phrase, il est possible d’utiliser le démon ssh-agent qui se chargera de mémoriser la pass-phrase pour éviter de la ressaisir

Sous Debian le démon ssh-agent est lancé automatiquement au démarrage de la session. La commande suivante, permet de mémoriser la pass-phrase une fois pour toute pendant la durée de la session :
ssh-add

Une fois cette commande saisie, Debian vous demande la passphrase une dernière fois. Ensuite vous pourrez vous connecter aux différents serveurs ssh sans saisir ni mot de passe ni pass-phrase.
ssh root@debian-server
Copier des fichiers entre un serveur et un client ssh avec scp

La commande scp livrée avec le paquet ssh, permet de copier des fichiers entre le serveur et le client ssh de manière sécurisée.

La commande suivante, permet d’envoyer dans le répertoire /tmp du serveur debian-server le fichier /etc/fstab disponible sur le serveur local :
scp /etc/fstab root@pgdebian:/tmp
Exécuter une commande à distance avec ssh

La commande ssh, permet également d’exécuter une commande à la volée sur le serveur distant.

Par exemple, la commande suivante, permet de se connecter sous root sur l’ordinateur debian-server et d’exécuter la commande halt dans la foulée pour arrêter l’ordinateur :
ssh root@debian-server halt
Lancer une application graphique disponible sur un serveur distant 

Pour lancer une application graphique sur un serveur distant, il suffit de se connecter avec l’option -X .
ssh -X user@serveur
Et de lancer l’application graphique en ligne de commande (startX) …

Le paramètre « -C » permet de comprimer les données ce qui améliore (un peu) la réactivité :
ssh -CX user@serveur
 Remarque : Cette méthode n’est pas très efficace et n’est pas sécurisée. Des solutions alternatives basées sur le protocole RBF (Remote Frame Buffer) (client/serveur VNC) ou RDP (Remote Desktop Protocol développé par Microsoft, dispo sous Win Mobile, Linux, Unix et Max OS/X) sont plus professionnelles.
Sécuriser SSH


Ouvrez le fichier /etc/ssh/sshd_config. Vous trouverez la ligne Port ou vous pouvez changer le port par défaut écouté par le démon sshd (le port 22 par défaut).
# What ports, IPs and protocols we listen for
   Port 22345
Vous devriez aussi créer un utilisateur spécifique pour chaque accès à SSH. En effet, l’accès par le root est déconseillé, vous vous en doutez …
vous pouvez donc changer la directive PermitRootLogin et la passer à no. Il vous suffira d’ajouter la directive AllowUsers debian-user
comme ceci :

# Authentication:
LoginGraceTime 600
PermitRootLogin no
StrictModes yes
AllowUsers debian-user
Pour vous connecter l’utilisateur debian-user au serveur debian-server depuis l’extérieur par SSH en utilisant le port 22345 vous pouvez entrez la commande

ssh debian-user@debian-server -p 22345
Se connecter rapidement aux serveurs SSH sous KDE grâce aux signets

Pour les utilisateurs de KDE et de Konsole, il est possible d’ajouter dans les signets des liens vers des serveurs SSH. Pour cela, il faut :
- Menu « Signet / Modifier les signets »
- Menu « Signet / Nouveau signet »
- Saisir dans la zone URL ssh ://debian-user@debian-serveur
Se connecter rapidement aux serveurs SSH sous Gnome avec SSHMenu
Ce programme permet de faciliter l’ouverture de sessions SSH.

Client Windows 

l'idée de développer sur les capacités ssh de Windows, je vous recommande de vous reporter à l'un des nombreux sites qui parlent du sujet et qui vous en diront bien plus que moi. Je signale néanmoins, l'existence d'un excellent client ssh Windows nommé Putty je l'ai testé et j'en pense le plus grand bien. Vous devrez télécharger, putty.exe qui fait office de shell sécurisé (ssh sous unix), pscp.exe pour la copie sécurisée (scp sous unix) et enfin, psftp.exe pour le ftp sécurisé (sftp sous Unix).


Connexion
Pour connecter à l'adresse 192.168.0.6 en tant qu'utilisateur souhaib, sur mon réseau local, il me suffit de taper :

$ ssh souhaib@192.168.0.6
Ça marche aussi sur Internet, par adresse IP bien-sûr mais aussi par le nom du site, grâce aux DNS qui font correspondre une adresse IP à un nom :

$ ssh souhaib@giant.networks.com

Suivez moi sur Facebook
 
Top