Dim-Jones Blog
Retour au blog

Tester facilement les connexions SSH avec Alpine Docker

2 min de lecture

Parfois, vous avez besoin d’un serveur SSH rapide et jetable pour vos tests. Un conteneur Docker base sur Alpine est la solution parfaite : leger, rapide a construire et facile a supprimer.

Construire l’image Docker

L’image Docker est construite a partir d’Alpine Linux, une distribution Linux legere et orientee securite.

FROM alpine:latest
RUN apk update && apk add openssh
RUN adduser -D testuser
RUN echo "testuser:password" | chpasswd
RUN echo "root:rootpassword" | chpasswd
# Generer les cles d'hote SSH
RUN ssh-keygen -A
# Configurer SSH pour autoriser la connexion root
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
EXPOSE 22
# Demarrer le service SSH
CMD ["/usr/sbin/sshd", "-D"]

Construisez l’image avec :

docker build -t ssh-test .

Gardez l’image a jour en utilisant :

docker build --pull -t ssh-test .

Executer le conteneur

Deux methodes de deploiement sont disponibles :

Utiliser le reseau Bridge

Cette approche mappe un port specifique de la machine hote vers le port 22 du conteneur, evitant les conflits avec les services SSH existants :

docker run -d -p 2222:22 --name test-ssh-connexion ssh-test

Utiliser le reseau Host

Cette methode lie le conteneur directement a la pile reseau de l’hote :

docker run -d --net host --name test-ssh-connexion ssh-test

Tester la connexion

Pour le reseau Bridge :

ssh testuser@<adresse_ip_machine_hote> -p 2222

Pour le reseau Host :

ssh testuser@<adresse_ip_machine_hote>

Acces root

Le conteneur autorise les connexions SSH root par defaut. Testez l’acces root avec :

ssh root@<adresse_ip_machine_hote>

Identifiants par defaut

Le conteneur inclut des identifiants predefinis pour les tests :

  • testuser / password
  • root / rootpassword

Modifiez ces lignes dans le Dockerfile pour changer les identifiants :

RUN echo "testuser:password" | chpasswd
RUN echo "root:rootpassword" | chpasswd

Attention : N’utilisez jamais de mots de passe faibles en environnement de production.

Ameliorer la securite

Pour renforcer la securite du conteneur :

  • Gardez les images de conteneurs regulierement a jour
  • Verifiez frequemment les vulnerabilites
  • Utilisez Podman en mode rootless
  • Executez les conteneurs avec des comptes utilisateur a privileges minimum

Cette approche repond aux nombreuses attaques ciblant le protocole SSH.

Dim-Jones

Dim-Jones

Agence d'ingenierie numerique specialisee en DevOps, developpement logiciel et IA.

Visiter dim-jones.com