{{tag>version-11-08 serveur-11-08 administrateur}}
===== SSH et Tunnels SSH =====
==== Avant tout ====
Pour vous connecter à distance sur un serveur AbulÉdu il faut utiliser un compte utilisateur membre du groupe **remotessh** ou **remotessh-ldap** (ça se fait via webadmin et l'outil de gestion des utilisateurs).
Le super administrateur **root** et l'administrateur **abuladmin** ont interdiction de se connecter en ssh (configuration forte du fichier de configuration du serveur ssh). Utilisez donc un compte à votre nom avec les privilièges remotessh puis connectez-vous à ces comptes si vous en avez besoin avec ''su abuladmin'', par exemple.
==== Connexion ssh classique ====
Pour se connecter en ssh, rien de compliqué:
ssh tom.pouce@ip_du_serveur
Si vous êtes à l'extérieur de l'école il faut connaître l'ip publique de l'école et l'utiliser … assurez vous également que la redirection des ports a été bien faite dans la configuration de la box ou du routeur conformément au [[:11.08:configuration_initiale_du_serveur|document d'installation]] (phase 2 ssh).
Sous windows nous vous conseillons l'utilisation du logiciel libre [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|putty]].
==== Options pratiques de la ligne de commande ssh ====
^option^commentaire|
| -X |Permet à des applications distantes graphiques de s'afficher localement (exemple system-config-printer)|
| -C |Activer la compression du flux ssh|
| -N |Désactiver l’exécution des commandes distantes (pratique pour les tunnels)|
| -p |Permet de spécifier le port SSH à utiliser (si vous ne pouvez pas ouvrir le port 22)|
Exemple pour se connecter sur l'école dont l'ip est 147.210.34.2 avec l'utilisateur toto qui a le service SSH ouvert sur le port 22003 et où on souhaite lancer une application graphique et en activant la compression du flux ssh
ssh -X -C -p 22003 toto@147.210.34.2
==== Créer un tunnel ssh ====
Un peu en vrac, commentaires à améliorer
^commande^commentaire|
|ssh xxx.dip.abuledu.net -L post_surmonpc:ip_locale:port_local|Ouvre un port sur mon poste et le redirige|
|ssh xxx.dip.abuledu.net -L 8080:wifi-01:80|permet d'aller sur l'interface de gestion de la borne wifi avec [[http://localhost:8080/|http://localhost:8080/]]|
|ssh xxx.dip.abuledu.net -L 8080:servecole:8082|permet d'aller sur l'interface d'administration|
|ssh xxx.dip.abuledu.net -L 8080:imprimante-01:80|permet d'aller sur l'interface de gestion de l'imprimante|
|ssh xxx.dip.abuledu.net -L 8080:switch-01:80|permet d'aller sur l'interface de gestion du switch|
Remarque : la commande numéro 3 redirige le port 8082 de servecole sur le port 8080 local de l'ordinateur de l'utilisateur. Quand l'utilisateur saisira l'adresse
http://localhost:8080
c'est donc l'interface webadmin de servecole qui s'ouvrira.
Ne pas oublier en fin d'intervention de fermer le tunnel ssh en tapant ''logout''
==== Tunnel inverse ====
ssh -R 21547:localhost:22 user@mon-serveur.adresse.org
==== Utilisation de clés ssh ====
=== Produire une clé SSH ===
Les 2 modes opératoires qui suivent sont destinés aux utilisateurs travaillant sous Linux.
Prérequis : Sur un système Linux, le paquet ssh-client doit être installé.
Ouvrir un terminal et taper les commandes suivantes
monlogin@mamachine:~$ ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/monlogin/.ssh/id_rsa): ⤶*
Enter passphrase (empty for no passphrase): *⤶
Enter same passphrase again: *⤶*
Your identification has been saved in /home/monlogin/.ssh/id_rsa.
Your public key has been saved in /home/monlogin/.ssh/id_rsa.pub.
The key fingerprint is:
02:e9:d1:00:c5:74:e9:99:46:1e:33:a4:f9:4f:a4:1b monlogin@mamachine
The key's randomart image is:
.../...
Le couple de clé est généré dans un répertoire caché dans votre HOME.
monlogin@mamachine:~$ ll ./.ssh
total 8
-rw------- 1 monlogin monlogin 1766 2010-11-06 20:38 id_rsa
-rw-r--r-- 1 monlogin monlogin 400 2010-11-06 20:38 id_rsa.pub
La clé publique est constituée par le fichier “id_rsa.pub”. C’est elle qui doit être transmise pour être intégrée au serveur
Notez que cette clé (le couple en fait) est lié à votre login et à la machine sur laquelle vous l’avez générée.
Vous pouvez bien sûr déplacer votre clé privée sur une autre machine, mais mieux vaut dans ce cas générer la clé par rapport à un élément non lié à votre machine; votre e-mail.
Pensez à fermer et réouvrir votre session utilisateurs, certains services liés aux clés ssh prennent la main à l'ouverture de session et ne savent pas comment faire quand une clé est générée en cours de route
=== Copiez votre clé SSH sur un serveur distant ===
ssh-copy-id login@serveur
Vérifiez les droits du fichier côté serveur et éventuellement supprimer les ACL (si serveur abuledu)
setfacl -b ~/.ssh
setfacl -b ~/.ssh/authorized_keys
Et ensuite vous pourrez utiliser votre clé ssh pour toutes vos connexion vers ce serveur ...