Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?

Connexion avec identifiant, mot de passe et durée de la session
Vendredi 05 Décembre 2008, 05:19:40
Pages: [1]   Bas de page
  Imprimer  
Fil de discussion: SSH Secure Shell  (Lu 2057 fois)
« le: Dimanche 06 Janvier 2008, 18:59:24 »
nia@ Hors ligne
Membre

Voir le profil Courriel
*

Karma: 0
Messages: 4



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é.

Code:
[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 passe

Fonctionnement:

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és

Code:
ssh-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

Code:
ssh-copy-id -i .ssh/id_rsa.pub ipdevotreserveur
ou
Code:
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
Citation
PasswordAuthentication no

ensuite redémarrez le serveur ssh

Code:
/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 URPMI

Après avoir mis à jour votre base de donnée rpm*  ouvrer une console en root et taper:

Code:
urpmi sshd

ensuite démarrer le service sshd

Code:
/etc/init.d/sshd start

Attention: N'oublier pas d'éditer le fichier /etc/ssh/ssh_config et vérifier que vous avez:

Citation
PermitRootLogin yes

*(suivre ce tutoriel si ce n'est pas fait : Easy Urpmi)


Installation à partir des sources

Dans 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:

Code:
$ 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 :

Code:
# 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 :

Code:
# useradd sshd -d / -s /bin/false

Maintenant vous devez générer les clés par:

Code:
# /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:

Code:
/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.

Code:
# 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 .




« Dernière édition: Dimanche 06 Janvier 2008, 21:47:34 par nia@ » Journalisée
« Répondre #1 le: Dimanche 06 Janvier 2008, 19:25:52 »
panoramix Hors ligne
Team Mandriva-fr
Membre

Voir le profil Courriel
*

Karma: 2
Messages: 50



Bravo pour ton tuto ... j'aurais juste quelques remarques à faire :
- ça serait bien d'expliquer clairement ce qu'est SSH (et surtout à quoi ça sert), parce que moi les deux premières lignes ... si je savais pas ce qu'était SSH, je le saurais pas plus !!!
- il faudrait rajouter la commande de base, avec mot de passe
- il faudrait parler du retour graphique (ssh -X), qui est quand même super utile
- quelques fautes d'orthographe  Lèvres scellées

Sinon, de façon plus générale, il faudra aussi parler de la mise en place d'un serveur openSSH, et de ses spécificités sous mandriva (s'il y en a) ... mais je comprend que t'aies pas commencé par ça ... c'est une toute autre quantité de boulot  Grimaçant


EDIT : j'avais pas bien lu, du coup y'a quand même deux trucs qui me gènent vraiment :
- dans ton deuxième point ("Interdire les personnes sans clés à se connecté") tu parles de quelque chose qui est en rapport avec la configuration du serveur SSH, il faut être admin pour faire ça ... ça aurait sa place dans une partie du tuto consacrée à la mise en place d'un serveur.
- le dernier point ("Comment se connecter de l'extérieur à partir d'un autre pc?") : sur la méthode j'ai rien à redire, mais sur le fond, ça me semble quand même plus simple et peut être plus sécurisé d'utiliser l'authentification par mot de passe dans ce cas là.
« Dernière édition: Dimanche 06 Janvier 2008, 19:29:49 par panoramix » Journalisée
« Répondre #2 le: Dimanche 06 Janvier 2008, 19:36:41 »
webmaster Hors ligne
Administrateur
Membre

Voir le profil WWW
*

Karma: 0
Messages: 117



le plus simple est de donner / rajouter des informations propres à l'utilisation et l'administration au fur et à mesure... (partie utilisateur et administrateur)

Perso, je rejouterai egalement l'utilisation de ssh-copy-id qui permet de deployer sa clé publique sur la machine distante:
Citation
ssh-copy-id -i .ssh/id_rsa.pub ipdevotreserveur
ce qui revient au meme que
Citation
scp /home/user/.ssh/id_dsa.pub toto2@[ipdevotreserveur]:.ssh/authorized_keys

C'est pour cette raison que je trouve le principe du wiki sympa.

edit: impec le tuto  Clin d'oeil
Journalisée

Webmaster
Mandriva-fr.org
« Répondre #3 le: Dimanche 06 Janvier 2008, 20:22:47 »
panoramix Hors ligne
Team Mandriva-fr
Membre

Voir le profil Courriel
*

Karma: 2
Messages: 50




C'est pour cette raison que je trouve le principe du wiki sympa.


ouais ... j'avais quelques réticences sur le wiki, mais c'est vrai que pour des gros tuto tels que celui du SSH c'est vraiment mieux.
Journalisée
« Répondre #4 le: Dimanche 06 Janvier 2008, 21:50:48 »
nia@ Hors ligne
Membre

Voir le profil Courriel
*

Karma: 0
Messages: 4



Bon , j'ai fait quelque modification, il me reste l'orthographe à corriger, détailler le fichier de configuration de openssh, ainsi que les nombreuses option de ssh
Journalisée
« Répondre #5 le: Dimanche 06 Janvier 2008, 21:57:36 »
webmaster Hors ligne
Administrateur
Membre

Voir le profil WWW
*

Karma: 0
Messages: 117



super.

beau travail  Grimaçant
Journalisée

Webmaster
Mandriva-fr.org
 
Pages: [1]   Haut de page
  Imprimer  
 
Aller à:  

Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
Page générée en 0.184 secondes avec 17 requêtes.