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