Secure Shell (SSH) est un protocole de communication sécurisé.Grace à ce protocole vous pouvez ouvrir une Console sur un pc distant comme si vous y étiez, transféré des fichiers, partager des dossiers . Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite toutes les trames sont chiffrées. Il devient donc difficile d'utiliser un sniffer pour voir ce que fait l'utilisateur. Le protocole SSH a été conçu avec l'objectif de remplacer les différents programmes rlogin, telnet et rsh.
Commande de Base ssh ipdelamachine permet de se connecter sur la machine distante en tant que $user (le nom d'utilisateur que vous utilisez sur votre machine), si ce nom n'existe pas sur la machine distante vous serez automatiquement rejeté.
[niao@Neolinux: ~$] ssh 192.168.50.10
niao@192.168.50.10's password:
niao@Neoservux:~$
ssh utilisateur@ipdelamachine Permet de se connecter sur la machine distante en utilisant un nom d'utilisateur différent.
ssh -p portduserveurshh utilisateur@ipdelamachine Permet de se connecter sur la machine distante en utilisant un nom d'utilisateur différent et un port différent du port standard de ssh (22) à condition que votre serveur écoute sur un autre port que le 22.
ssh -v utilisateur@ipdelamachine Permet d'obtenir les logs de la connexion que vous êtes en train d'établir , cela peux être pratique lors des connexion longue ou rejeté.
SSH sans mot de passeFonctionnement:le client à une clé privé et le serveur une clé publique, la clé publique du serveur sert à reconnaître et à identifier la clé privé du client,
En français: C'est la même chose que les serrures et les clef, il n'y à que celui qui possède la clé qui peux se connecté au serveur
Comment faire ?1 Se connecté avec le système de clésssh-keygen -t dsa
Enter file in which to save the key (home/toto.ssh/id_dsa):[Entrée]
Enter passphrase (empty for no passphrase):[entrer un mot de passe pas simple]
Enter same passphrase again:[Entrer le à nouveau]
Grace à cette manipulation nous avons crée /home/user/.ssh/id_dsa /home/user/.ssh/id_dsa.pub
Comme vous pouvez le deviner, le fichier id_dsa.pub est la clé publique que l'on va envoyer au serveur
ssh-copy-id -i .ssh/id_rsa.pub ipdevotreserveur
ou
scp /home/user/.ssh/id_dsa.pub toto2@[ipdevotreserveur]:.ssh/authorized_keys
Si vous n'arriver pas avec scp vous pouvez le faire en Nfs ou autre Désormais si vous tapez ssh@ipdevotreserveur vous allez vous connecté grace à votre clé d'authentification
Attention: il vous demandera tous de mème la passphrase que vous avez choisi tous à l'heure
2 Interdire les personnes sans clés à se connecté.Ils suffit d'éditer le fichier /etc/ssh/sshd_config et d'ajouter
PasswordAuthentication no
ensuite redémarrez le serveur ssh
/etc/init.d/sshd restart
Vous êtes maintenant le seul à pouvoir vous connecter à votre serveur ssh
3 Comment se connecter de l'extérieur à partir d'un autre pc? Munissez vous d'une clé usb ou un autre support amovible et copier y id_dsa .
Sur le poste extérieure ouvrez une console et copier votre id_dsa dans /home/user/.ssh/
Maintenant vous pourrez vous connecté à votre serveur SSH
Attention: N'oublier pas de l'effacer après votre départ même si vous avez mis une passphrase
Mettre en place un serveur ssh Par l'intermédiaire de URPMIAprès avoir mis à jour votre
base de donnée rpm* ouvrer une console en root et taper:
urpmi sshd
ensuite démarrer le service sshd
/etc/init.d/sshd start
Attention: N'oublier pas d'éditer le fichier /etc/ssh/ssh_config et vérifier que vous avez:
PermitRootLogin yes
*(suivre ce tutoriel si ce n'est pas fait : Easy Urpmi)Installation à partir des sourcesDans cette partie je vais détailler l'installation à partir des sources. En effet, il s'agit d'un logiciel sensé garantir un minimum de sécurité, votre version contient certainement des failles, il est donc indispensable d'avoir la dernière version. Première chose à faire, désinstaller tout logiciel se rapportant à ssh sur votre Mandriva (urpme openssh). . Téléchargez la dernière version d'openssh
ICIet installez-la par:
$ tar -xzvf /où_est/openssh-xxxx.tar.gz $ cd openssh-xxx/
$ ./configure --prefix=/usr/bin --sysconfdir=/etc/ssh
$ make
$ su Password
# make install
A ce stade ssh est installé. Votre $SYSCONFDIR a pour valeur /etc/ssh. Il ne vous reste plus qu'à le configurer :
# chmod 750 /etc/init.d/sshd
# chmod 755 /usr/bin/ssh-keygen /usr/bin/scp
# chmod 755 /usr/bin/sftp
Vous devez créer un utilisateur sshd sans droit :
# useradd sshd -d / -s /bin/false
Maintenant vous devez générer les clés par:
# /opt/ssh/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
# /opt/ssh/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
# /opt/ssh/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
vous pouvez maintenant démarrer votre serveur ssh:
/etc/init.d/sshd start
SHd est désormais lancé, il ne vous reste plus qu'à copier le script de lancement à l'image de ceux présents dans /etc/rc.d/init.d/, pour automatiser le lancement au démarrage de la machine.
# cd / # chmod 755 /etc/rc.d/init.d/sshd
# ln -s /etc/rc.d/init.d/sshd /etc/rc.d/rc2.d/S55sshd
# ln -s /etc/rc.d/init.d/sshd /etc/rc.d/rc3.d/S55sshd
# ln -s /etc/rc.d/init.d/sshd /etc/rc.d/rc4.d/S55sshd
# ln -s /etc/rc.d/init.d/sshd /etc/rc.d/rc5.d/S55sshd
# ln -s /etc/rc.d/init.d/sshd /etc/rc.d/rc0.d/K25sshd
# ln -s /etc/rc.d/init.d/sshd /etc/rc.d/rc1.d/K25sshd
# ln -s /etc/rc.d/init.d/sshd /etc/rc.d/rc6.d/K25sshd
Votre serveur est installé et fonctionnel .