> DIO/ Système et réseau/ Tunnel SSH pour les personnes pressées

Introduction

Cette documentation est dédiée aux personnes qui veulent une solution clef en main sans explications détaillées, avec un exemple simple, dédié à transférer un gros fichier ou à accéder en SSH au réseau interne. Cette documentation s'adresse à des utilisateurs sous Mac ou Linux. Pour ceux qui veulent juste atteindre leur serveur en faisant deux rebonds ssh sans avoir à l'utiliser régulièrement. Il est possible d'utiliser l'option jump host de ssh. Pour atteindre le fichier filer-m en passant par la passerelle styx puis par le serveur tycho. Il peut être plus simple de faire :

ssh -J styx.obspm.fr,tycho.obspm.fr filer-m.obspm.fr

Voici un exemple :

Le descriptif qui suit propose de faire la configuration pour un tunnel ssh facile à réouvrir.

Transférer de gros fichiers vers ou depuis des serveurs de l'Observatoire

Accéder au serveur tycho en faisant un tunnel SSH

Configurer ssh

Pour faciliter les connexions futures il est fortement conseillé d'éditer le fichier

/home/LOGIN/.ssh/config

puis d'ajouter les lignes suivantes

ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
Host styxt
        HostName styx.obspm.fr
        User LOGIN
        LocalForward 2222 tycho.obspm.fr:22
Host tychot
        HostName 127.0.0.1
        Port 2222
        User LOGIN

Attention : remplacer LOGIN par votre login observatoire (LDAP)

Remarques : Les

styxt = styx.obspm.fr

tychot = tycho.obspm.fr (serveur interne non accessible de l'extérieur).

sont des surnoms, vous pouvez le nommer comme vous voulez.

Connexion

Ouvrir un terminal puis taper :

ssh styxt

Dans les autres terminaux, vous pourrez alors vous connectez directement à tycho :

ssh tychot

vous pouvez ainsi rapatrier un gros fichier

Ensuite vous pourrez

  • Copier dans votre disque le fichier toto.fits contenu sur tycho dans poubelle/lesidaner, avec :

    scp tychot:/poubelle/lesidaner/toto.fits .
    
  • Si vous devez recopier un dossier avec plusieurs fichiers il est recommandé d'utiliser :

    rsync -av --progress tychot:/poubelle/lesidaner/dossier .
    
  • Ouvrir un shell :

    ssh tychot
    

Comment atteindre un serveur qui n'a pas d'accès SSH depuis styx ou rubicon, les deux passerelles ?

Nous allons faire un double tunnel. Dans mon exemple, le premier serveur sera tycho et le second sera filer-m. Vous adapterez avec votre passerelle de département à la place de tycho.

Configurer ssh

Il faut ajouter les lignes suivantes à la suite du fichier

/home/LOGIN/.ssh/config

modifié précédemment

Host styxt
  HostName styx.obspm.fr
  User LOGIN
  LocalForward 2222 tycho.obspm.fr:22

Host tychot
  HostName 127.0.0.1
  User LOGIN
  Port 2222
  LocalForward 3333 filer-m.obspm.fr:22

Host filermt
  HostName 127.0.0.1
  User LOGIN
  Port 3333

Connexion

Ouvrir deux terminaux

  • Premier terminal taper :

    ssh styxt
    

    se loguer

  • Deuxième terminal taper :

    ssh tychoa
    

    se loguer

Ensuite dans tous les autres terminaux vous pourrez vous logger sur filer-m via la commande

ssh filermt

vous pouvez ainsi rapatrier un gros fichier

  • Par exemple copier un fichier tutu.fits contenu sur filer-m dans /tata/, taper :

    scp filermt:/tata/tutu.fits .
    
  • Pour recopier un dossier

    rsync -av filermt:/tata/dossier .
    
  • Pour ouvrir un shell sur filer-m taper :

    ssh filermt