# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.edgegap.com/docs.edgegap.com-fr/docs/tools-and-integrations/container/ssh.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
