Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:ssh [22/09/2013 23:31] 127.0.0.1 modification externe |
doc:reseau:ssh [07/01/2014 20:58] bendia [SSH - TP] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== SSH - TP ====== | + | ====== SSH ====== |
- | + | * Objet : tout savoir sur SSH | |
- | * Objets : Connexion à SSH par clés, et relai de ports. | + | * Niveau requis : {{tag>avisé}} |
- | * Niveau requis : DÉBUTANT AVISÉ | + | * Commentaires : //Administrer son serveur à distance, établir un tunnel sécurisé pour relayer des ports, etc... // |
- | * Commentaires : //Connexion à SSH par clés, et relai de ports.// | + | |
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Forum : [url=http://debian-facile.org/forum/viewtopic.php?id=1583]Remarques, corrections, etc.[/url] | + | * Suivi : {{tag>en-chantier}} |
+ | * Mis en forme par bendia le 7/01/2113 à partir des différents tuto | ||
+ | * Testé par <...> le <...> FIXME | ||
+ | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1583 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
+ | === Nota === | ||
+ | |||
+ | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Installation ===== | ===== Installation ===== | ||
- | On supposera ici que vous avez déjà suivi le tuto [[:doc:reseau:ssh|ssh]] et que vous savez donc les bases. | + | On supposera ici que vous avez déjà suivi le tuto [[:doc:systeme:ssh|ssh]] et que vous savez donc les bases. |
Ligne 25: | Ligne 32: | ||
Pourquoi ne pas autoriser les connexions uniquement par clefs privés/public et interdire les connections standards où les mots de passes passent en clair. | Pourquoi ne pas autoriser les connexions uniquement par clefs privés/public et interdire les connections standards où les mots de passes passent en clair. | ||
+ | |||
+ | === Création de la cle === | ||
Le but est de se passer du mot de passe qui au niveau sécurité est trop faible, nous allons généré une clée cryptée unique pour votre PC. | Le but est de se passer du mot de passe qui au niveau sécurité est trop faible, nous allons généré une clée cryptée unique pour votre PC. | ||
- | $ ssh-keygen -t dsa | + | <code user>ssh-keygen -t dsa</code> |
+ | <code>Generating public/private dsa key pair. | ||
+ | Enter file in which to save the key (/home/user/.ssh/id_dsa): /home/user/.ssh/nom_fichier | ||
+ | Enter passphrase (empty for no passphrase): (mettre une passphrase qui sera demandée à chaque connexion - ou rien si c'est pas nécessaire pour vous) | ||
+ | </code> | ||
+ | Vous validez 2 fois et vous obtiendrez le résultat en détail de la création de votre cle dsa. | ||
+ | |||
+ | === Exportation de la cle === | ||
Votre clé sera générée en 1024 bits dans votre dossier /home/votre_user/.ssh/ pour la mettre en place il vous suffit de l'exporter sur votre pc distant. | Votre clé sera générée en 1024 bits dans votre dossier /home/votre_user/.ssh/ pour la mettre en place il vous suffit de l'exporter sur votre pc distant. | ||
- | Vérifiez que la clef dans le fichier se termine bien par votre adresse ip ( Ip Internet ) et non par le nom de votre poste. | + | <code user>ssh-copy-id -i /home/user/.ssh/id_dsa.pub user@192.168.x.x</code> |
- | Si ce n'est pas le cas, remplacer le nom par votre adresse ip. | + | mot_de_passe (serveur distant) |
- | $ ssh-copy-id -i /home/user/.ssh/id_dsa.pub user@192.168.1.x | + | |
- | mot_de_passe | + | |
Voilà votre clé est en place, maintenant passons à la sécurité de votre système. | Voilà votre clé est en place, maintenant passons à la sécurité de votre système. | ||
Ligne 39: | Ligne 54: | ||
==== Restreindre les connexions à SSH ==== | ==== Restreindre les connexions à SSH ==== | ||
- | Il suffit d'éditer le fichier sshd_config en root sur le PC distant. Le fichier se trouve dans le dossier ///etc/ssh/// | + | Il suffit d'éditer le fichier ''sshd_config'' en root sur le PC distant. Le fichier se trouve dans le dossier ///etc/ssh/// |
- | # nano /etc/ssh/sshd_config | + | <code root>nano /etc/ssh/sshd_config</code> |
Puis de modifier les arguments suivant «le cas est pris pour une connection __uniquement par clé__» : | Puis de modifier les arguments suivant «le cas est pris pour une connection __uniquement par clé__» : | ||
- | PermitRootLogin no -> évite la connection root « plus que recommandé » | + | <code bash>PermitRootLogin no # évite la connexion root « plus que recommandé » |
- | RSAAuthentication yes -> active la reconnaissance RSA | + | RSAAuthentication yes # active la reconnaissance RSA |
- | PubkeyAuthentication yes | + | PubkeyAuthentication yes |
- | AuthorizedKeysFile .ssh/authorized_keys -> va uniquement chercher la clé sur ce fichier | + | AuthorizedKeysFile .ssh/authorized_keys # va uniquement chercher la clé sur ce fichier |
- | PasswordAuthentication no -> désactive la connection par mot de passe | + | PasswordAuthentication no # désactive la connexion par mot de passe |
- | PermitEmptyPasswords no -> désactive les mots de passe vide | + | PermitEmptyPasswords no # désactive les mots de passe vide |
- | UsePAM no -> désactive la connection par mot de passe | + | UsePAM no # désactive la connection par mot de passe |
- | AllowUsers votrelogin secondlogin -> restreint l'accès à votre login uniquement | + | AllowUsers votrelogin secondlogin # restreint l'accès à votre login uniquement |
- | DenyUsers test guest admin root snort apache nobody -> interdire l'accès à certains users, pour les paranos... | + | DenyUsers test guest admin root snort apache nobody # interdire l'accès à certains users, pour les paranos... |
- | MaxStartups 1 -> limite la connection, normalement 6 par défaut | + | MaxStartups 1 # limite la connexion, normalement 6 par défaut</code> |
- | + | ||
- | * Restreindre la connexion à un utilisateur | + | |
+ | === Restreindre la connexion à un utilisateur === | ||
Moins de monde autorisé à se connecter via ssh, moins de risques il y aura… | Moins de monde autorisé à se connecter via ssh, moins de risques il y aura… | ||
- | AllowUsers monuserquipeutseconnecter | + | AllowUsers **monuserquipeutseconnecter** |
Il est possible de spécifier plusieurs utilisateurs ou un masque d'expression régulière, je vous laisse lire la doc pour un paramétrage plus fin | Il est possible de spécifier plusieurs utilisateurs ou un masque d'expression régulière, je vous laisse lire la doc pour un paramétrage plus fin | ||
- | * Restreindre la connexion à un groupe | + | === Restreindre la connexion à un groupe === |
dans le même esprit que le paramètre ci-dessus on peut autoriser directement tous les utilisateurs d'un groupe. | dans le même esprit que le paramètre ci-dessus on peut autoriser directement tous les utilisateurs d'un groupe. | ||
- | AllowGroups mongroupadmin | + | AllowGroups **mongroupadmin** |
Les options qu'il est conseillé de changer dans un premier temps sont : | Les options qu'il est conseillé de changer dans un premier temps sont : | ||
- | * Le port ( défaut 22 ) | + | === Le port === |
+ | |||
+ | * Le port **22** # C'est le port par défaut du service SSH | ||
Nous allons le mettre ici à 10010 | Nous allons le mettre ici à 10010 | ||
- | Port 10010 | + | Port **10010** |
Une fois configuré il vous suffit de relancer SSH, à faire en root : | Une fois configuré il vous suffit de relancer SSH, à faire en root : | ||
- | # service ssh restart | + | <code root>service ssh restart</code> |
==== Navigation via SSH ==== | ==== Navigation via SSH ==== | ||
Pour voir les fichiers avec konqueror et Nautilus rien de plus simple | Pour voir les fichiers avec konqueror et Nautilus rien de plus simple | ||
+ | |||
=== Konqueror === | === Konqueror === | ||
- | $ fish://user@192.168.1.x | + | <code user>fish://user@192.168.x.x</code> |
| | ||
=== Nautilus === | === Nautilus === | ||
- | $ ssh://user@192.168.1.x:22 | + | <code user>ssh://user@192.168.x.x:22</code> |
=== Terminal === | === Terminal === | ||
Pour te connecter sur un serveur ssh qui n'a pas le port 22 par défaut. | Pour te connecter sur un serveur ssh qui n'a pas le port 22 par défaut. | ||
- | ssh mattux@mon.serveur.org -p 10010 | + | <code user>ssh mattux@mon.serveur.org -p 10010</code> |
-p **10010** bien sûr à adapter au port ouvert, son numéro ! | -p **10010** bien sûr à adapter au port ouvert, son numéro ! | ||
Avec la configuration de base le mot de passe de la session vous sera demandé, avec la clé rien ne vous sera demandé. | Avec la configuration de base le mot de passe de la session vous sera demandé, avec la clé rien ne vous sera demandé. | ||
- | |||
- | |||
==== Tunnel chiffré en SSH ==== | ==== Tunnel chiffré en SSH ==== | ||
Il se peut que vous vouliez établir une connexion distante pour transiter des données de manière 100% transparente et sécurisée, nous allons donc établir un tunnel ssh. | Il se peut que vous vouliez établir une connexion distante pour transiter des données de manière 100% transparente et sécurisée, nous allons donc établir un tunnel ssh. | ||
- | # ssh -L 5901:localhost:5900 user@80.80.80.80 | + | <code root>ssh -L 5901:localhost:5900 user@80.80.80.80</code> |
Cette technique est très utile pour relier en local un bon nombre d'utilisation, comme sur kde distant, un serveur smtp personnel, une boite mail ( pop ou imap ) personnelle, un bon nombre d'utilisations ont recours à cette technique. | Cette technique est très utile pour relier en local un bon nombre d'utilisation, comme sur kde distant, un serveur smtp personnel, une boite mail ( pop ou imap ) personnelle, un bon nombre d'utilisations ont recours à cette technique. | ||