En tant qu’ingénieur nomade numérique — ou « baby-sitter » de centaines d’ordinateurs d’entreprise — se connecter à un serveur depuis divers appareils clients pour la configuration est une tâche courante. Certains ingénieurs emportent leur propre ordinateur portable préchargé avec les logiciels et outils fréquemment utilisés afin d’éviter d’être limités lorsqu’ils utilisent les ordinateurs de collègues ou partagés.
Cependant, se connecter à un QNAP NAS est bien plus simple. Comme le NAS utilise par défaut une interface graphique basée sur navigateur pour la gestion, tout ordinateur ou appareil mobile capable d’exécuter un navigateur Web peut accéder au NAS pour effectuer des opérations à distance.

Le terminal : là où les ingénieurs trouvent leur passion
Que faire si vous devez accéder à la ligne de commande ou au mode terminal ? Les systèmes d’exploitation Windows, macOS et Linux incluent généralement un client SSH natif intégré, donc cela ne pose généralement pas de problème.
Cependant, lancer une connexion SSH sur un ordinateur inconnu comporte tout de même plusieurs inconvénients inhérents, tels que :
1. Les anciens systèmes d’exploitation et appareils mobiles ne sont pas pris en charge
Les versions anciennes des systèmes d’exploitation, en particulier celles publiées avant 2018, ainsi que les appareils Android et iOS nécessitent des applications tierces pour agir comme clients SSH. Dans de nombreux environnements sensibles à la sécurité ou dans les usines, les anciens systèmes d’exploitation sont encore utilisés.
2. Sécurité
Les connexions SSH sont sécurisées en elles-mêmes. Cependant, les identifiants saisis avant l’établissement de la connexion peuvent toujours être soumis à une surveillance locale ou à un enregistreur de frappes. L’interface graphique de gestion du QNAP NAS propose une authentification à deux facteurs lors de la connexion, alors que SSH n’inclut pas cette fonctionnalité par défaut.
De plus, lors de l’accès au NAS depuis un réseau externe, il se peut qu’il ne soit pas possible de se connecter via le port correspondant. Par exemple, si le NAS n’expose que l’interface web QTS en externe sur le port 8080, les connexions SSH ne pourront pas passer.
3. Persistance de la session
Par défaut, les tâches exécutées sur un serveur via une connexion SSH s’arrêtent dès que la connexion est perdue. Si la tâche implique le téléchargement de gros fichiers ou un traitement long, il n’est pas pratique de rester indéfiniment devant l’ordinateur client ou de garder la session ouverte sur un ordinateur public.
Comment résoudre les problèmes ci-dessus ? Nos objectifs sont les suivants :
1. Accéder au mode terminal via un navigateur web
2. La session continue de fonctionner, quelle que soit la déconnexion du client.
Tout d’abord, assurez-vous que la tâche n’est pas interrompue
Maintenir la session est relativement facile à résoudre. QTS lui-même n’a pas de problèmes liés à la session — la clé réside dans l’interface du terminal. Cela peut être réalisé à l’aide d’outils de multiplexage de terminal comme screen ou des outils tiers tels que Tmux. Le mode terminal sur QNAP NAS ne supprime pas screen, ce qui en fait la méthode la plus simple et la plus pratique pour maintenir la session.

L’utilisation de screen est très simple. Il suffit de taper « screen » dans le terminal pour créer une nouvelle session. L’invite de commande ne changera pas — par exemple, si elle était à l’origine [user1@TS-464 ~]$, le shell à l’intérieur de la session screen apparaîtra exactement de la même manière.
À ce stade, même si la session créée avec screen est toujours en cours d’exécution, elle ne sera pas affectée si la connexion SSH est perdue.
La prochaine fois que vous établissez une connexion SSH, il suffit d’utiliser « screen -r » pour se rattacher à la session existante. Screen vous permet de créer plusieurs sessions. Utilisez « screen -list » pour afficher les pID des sessions, puis utilisez -r pID pour se rattacher à la session correspondante.
L’étape suivante consiste à résoudre le deuxième problème : accéder au mode terminal du QNAP NAS via un navigateur web. QTS ne propose pas cette fonctionnalité nativement. L’approche la plus simple consiste à exécuter une application Docker via Container Station avec une fonctionnalité ssh-client. Vous pouvez alors ouvrir l’interface terminal du conteneur directement depuis l’interface web de QTS.
La façon la plus rapide de créer une application Docker est d’utiliser une image Docker existante. Bien que ce dont nous ayons besoin soit un ssh-client plutôt qu’un service ssh-server, nous pouvons installer directement le openssh-server disponible sur Docker Hub, car il inclut également la fonctionnalité client. La page officielle fournit un fichier de configuration YAML, ce qui rend le déploiement plus pratique.

Exemple officiel YAML à titre de référence :
services:
openssh-server:
image: lscr.io/linuxserver/openssh-server:latest
container_name: openssh-server
hostname: openssh-server #optional
environment:
– PUID=1000
– PGID=1000
– TZ=Etc/UTC
– PUBLIC_KEY=yourpublickey #optional
– PUBLIC_KEY_FILE=/path/to/file #optional
– PUBLIC_KEY_DIR=/path/to/directory/containing/only/pubkeys #optional
– PUBLIC_KEY_URL=https://github.com/username.keys #optional
– SUDO_ACCESS=false #optional
– PASSWORD_ACCESS=false #optional
– USER_PASSWORD=password #optional
– USER_PASSWORD_FILE=/path/to/file #optional
– USER_NAME=linuxserver.io #optional
– LOG_STDOUT= #optional
volumes:
– /path/to/openssh-server/config:/config
ports:
– 2222:2222
restart: unless-stopped

Une fois créé, cliquez sur « Exécuter » dans l’interface Container Station :

L’interface du terminal peut ensuite être utilisée pour accéder en SSH au système hôte NAS :

Activez l’authentification à deux facteurs pour une sécurité accrue Sécurité
Si aucune restriction de pare-feu n’est présente, le conteneur peut être accessible directement via son URL. Cependant, comme souligné au début de cet article, Sécurité doit toujours être pris en compte. Lancer Container Station via l’interface web QTS est donc une approche plus sûre.
Alors, comment protéger les mots de passe contre les keyloggers ? Une vigilance accrue est toujours nécessaire lors de l’utilisation d’un ordinateur inconnu. En dehors de l’activation d’un clavier virtuel et de la saisie des identifiants à la souris, il n’existe actuellement aucun moyen efficace d’empêcher la capture des identifiants par les keyloggers. Les mesures pratiques consistent à activer l’authentification à deux facteurs et à changer régulièrement les mots de passe.

QTS propose l’authentification à deux facteurs et l’authentification basée sur un authentificateur pour renforcer la sécurité de connexion Sécurité. Cependant, l’authentification par clé SSH n’est pas applicable dans ce scénario.
Cette passerelle basée sur navigateur, construite via Container Station, combinée à la persistance de session de Screen, démontre qu’il est possible d’équilibrer efficacement Sécurité, commodité et continuité. Avec cette configuration combinée, il n’est plus nécessaire de dépendre d’un logiciel client spécifique, ni de s’inquiéter de perdre sa progression à cause de déconnexions réseau. La prochaine fois que vous serez d’astreinte et devrez répondre à un incident, même sans votre ordinateur habituel, vous pourrez rester productif—tant que vous avez accès à un navigateur web.
Republié avec Autorisation de CyberQ