# SSH dans votre conteneur

{% hint style="warning" %}
Edgegap ne recommande pas d'avoir le service SSH accessible dans vos déploiements en production.
{% endhint %}

### Modification de votre Dockerfile

Nous construirons le conteneur docker en utilisant un Docker différent `Dockerfile` dans cette version.

Nous devrons installer le service OpenSSH et l'activer Créer un utilisateur et un mot de passe pour se connecter à votre serveur.

Dans un conteneur fonctionnant sur **Alpine**, fusionnez ce qui suit :

```dockerfile
RUN apk --update add --no-cache openssh bash
RUN sed -i s/#PermitRootLogin.*/PermitRootLogin\ yes/ /etc/ssh/sshd_config
RUN echo "tester:$ecureP@ss" | chpasswd

EXPOSE 22
```

Dans un conteneur fonctionnant sur **Ubuntu**, ajoutez ce qui suit :

```dockerfile
RUN apt-get update
RUN apt-get install openssh-server sudo -y

RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1000
RUN echo 'tester:$ecureP@ss' | chpasswd

EXPOSE 22
```

Dans votre point d'entrée, vous devrez ajouter la commande suivante :

```sh
service ssh start
```

Nous suggérons de tester le déploiement localement, en utilisant la commande docker run pour tester le démarrage du serveur.

Une fois testé, vous pouvez pousser votre nouvelle version sur le dépôt de conteneurs.

### Sur Edgegap

Nous suggérons d'avoir une version appelée `-dev` ou quelque chose qui aurait du sens pour votre service. Ce faisant, vous aurez l'option d'effectuer des tests et de vous connecter facilement à votre conteneur en utilisant l'infrastructure Edgegap.

1. Créez une nouvelle version de votre application, en ajoutant le `Exposez le port TCP 22`
2. Créez un déploiement en utilisant la nouvelle version que vous venez de créer
3. Une fois que le service est en cours d'exécution (Prêt), regardez dans les informations de votre déploiement. Vous verrez le mappage du port externe pour le port 22.
4. Vous pouvez utiliser Putty et vous connecter en utilisant le FQDN du déploiement ou l'IP et le mappage de port utilisé
5. Le nom d'utilisateur et le mot de passe que vous avez configurés.
