root: Add a page about ssh and challenge administration
This commit is contained in:
parent
fd28cf1db6
commit
dd196b6dd8
@ -137,24 +137,6 @@ nsenter -t 1 -a
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Transférer des fichiers hors des machines
|
## Connexion SSH et transfert de fichiers hors des machines
|
||||||
|
|
||||||
Tous les fichiers nécessaire au challenge sont stockés dans le répertoire `/var/lib/fic`.
|
Voir [l'article dédié]({{< relref "ssh.md" >}})
|
||||||
On y trouve à la fois les répertoires courants de la plateforme (`teams`, `submissions`, ...), mais aussi le répertoire de la base de données `mysql`, les sauvegardes, ...
|
|
||||||
|
|
||||||
Ce répertoire n'est pas partagé avec le conteneur `sshd` auquel on se connecte.
|
|
||||||
En dehors des fichiers bruts du challenge, il n'est donc pas possible d'utiliser `rsync` ou `scp` directement.
|
|
||||||
|
|
||||||
Seul le répertoire `/var/lib/fic/outofsync` est partagé.
|
|
||||||
|
|
||||||
Il convient donc de copier le fichier que l'on souhaite partager vers ce dossier, afin de le retrouver dans le conteneur `sshd` :
|
|
||||||
|
|
||||||
```
|
|
||||||
ssh root@192.168.3.92
|
|
||||||
nsenter -t 1 -a
|
|
||||||
cp /var/lib/fic/backups/db-20421225000000.sql.xz /var/lib/fic/outofsync
|
|
||||||
exit # On sort du système hôte pour revenir dans le conteneur sshd
|
|
||||||
exit # On quitte la connexion SSH
|
|
||||||
|
|
||||||
scp root@192.168.3.92:/var/lib/fic/outofsync/db-20421225000000.sql.xz .
|
|
||||||
```
|
|
||||||
|
90
content/root/ssh.md
Normal file
90
content/root/ssh.md
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
---
|
||||||
|
date: 2023-11-26T19:46:12+02:00
|
||||||
|
title: Connexion SSH et administration du challenge
|
||||||
|
weight: 55
|
||||||
|
---
|
||||||
|
|
||||||
|
## Se connecter en SSH aux machines
|
||||||
|
|
||||||
|
### `deimos`
|
||||||
|
|
||||||
|
`deimos` expose un serveur ssh sur les ports `admin` du switch.
|
||||||
|
Actuellement, l'IP du serveur est `192.168.3.92` (peu changer selon le plan d'adressage fourni par les organisateurs).
|
||||||
|
|
||||||
|
### `phobos`
|
||||||
|
|
||||||
|
Il n'est pas possible de se connecter à `phobos`.
|
||||||
|
Cette machine expose un serveur SSH uniquement à des fins de synchronisation des fichiers.
|
||||||
|
Le conteneur exécutant le serveur SSH ne permet pas de rebondir sur le reste du système, ce qui rend de toute manière la connexion assez inutile.
|
||||||
|
|
||||||
|
Pour administrer la machine, il faut donc utiliser l'iDRAC.
|
||||||
|
|
||||||
|
|
||||||
|
## Gestion des clefs SSH
|
||||||
|
|
||||||
|
Pour pouvoir se connecter au serveur, il est nécessaire d'avoir une clef SSH autorisée.
|
||||||
|
|
||||||
|
Les clefs SSH font parties des [métadonnées]({{< relref "fickit-deploy.md" >}}).
|
||||||
|
|
||||||
|
|
||||||
|
## Interface d'administration
|
||||||
|
|
||||||
|
Afin d'éviter que des personnes puissent accéder à l'interface d'administration, celle-ci n'est accessible que via la connexion SSH :
|
||||||
|
|
||||||
|
```
|
||||||
|
ssh -L 8081:127.0.0.1:8081 root@192.168.3.92
|
||||||
|
```
|
||||||
|
|
||||||
|
Cela ouvre un tunnel entre le port 8081 de votre système et le port 8081 du serveur.
|
||||||
|
Vous pourrez ensuite accéder à l'interface d'administration directement depuis votre machine à l'adresse : <http://localhost:8081/>.
|
||||||
|
|
||||||
|
|
||||||
|
## Transférer des fichiers hors des machines
|
||||||
|
|
||||||
|
Tous les fichiers nécessaire au challenge sont stockés dans le répertoire `/var/lib/fic`.
|
||||||
|
On y trouve à la fois les répertoires courants de la plateforme (`teams`, `submissions`, ...), mais aussi le répertoire de la base de données `mysql`, les sauvegardes, ...
|
||||||
|
|
||||||
|
Ce répertoire n'est pas partagé avec le conteneur `sshd` auquel on se connecte.
|
||||||
|
En dehors des fichiers bruts du challenge, il n'est donc pas possible d'utiliser `rsync` ou `scp` directement.
|
||||||
|
|
||||||
|
Seul le répertoire `/var/lib/fic/outofsync` est partagé.
|
||||||
|
|
||||||
|
Il convient donc de copier le fichier que l'on souhaite partager vers ce dossier, afin de le retrouver dans le conteneur `sshd` :
|
||||||
|
|
||||||
|
```
|
||||||
|
ssh root@192.168.3.92
|
||||||
|
nsenter -t 1 -a
|
||||||
|
cp /var/lib/fic/backups/db-20421225000000.sql.xz /var/lib/fic/outofsync
|
||||||
|
exit # On sort du système hôte pour revenir dans le conteneur sshd
|
||||||
|
exit # On quitte la connexion SSH
|
||||||
|
|
||||||
|
scp root@192.168.3.92:/var/lib/fic/outofsync/db-20421225000000.sql.xz .
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Tableau de bord
|
||||||
|
|
||||||
|
Sur l'IP du serveur, le port 8083 est ouvert afin de rendre le tableau de bord accessible à des personnes sans connexion SSH (par exemple pour que les organisateurs puissent le diffuser).
|
||||||
|
|
||||||
|
Afin de limiter son accès, il est possible de restreindre les IP qui peuvent le contacter.
|
||||||
|
Pour cela, il faut créer un fichier à cet emplacement sur `deimos` : `/var/lib/fic/dashboard/restricted-ips.json`.
|
||||||
|
|
||||||
|
Le contenu du fichier est un tableau JSON des préfixes d'IP autorisées :
|
||||||
|
|
||||||
|
```
|
||||||
|
[
|
||||||
|
"192.168.0.1",
|
||||||
|
"127.0.0.1"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Ou encore :
|
||||||
|
|
||||||
|
```
|
||||||
|
[
|
||||||
|
"192.168.0.",
|
||||||
|
"127.0.0.1"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Ce dernier exemple autorise toutes les adresses commençant par 192.168.0. à se connecter.
|
Loading…
Reference in New Issue
Block a user