---
# System prepended metadata

title: 透過 SSH 與 Docker 容器建立連線
tags: [ssh, docker]

---

# 透過 SSH 與 Docker 容器建立連線

## 建立 ssh-server 的 docker container
1. 在建立container時使用 `-p` 指定port bind將容器的 22 port 指定到本機ip位置的port
    `docker run -it -p 2222:22 --name container_name image_name`
2. 建立好容器後透過 Docker 的 exec 命令連進容器內部的 bash
    `docker exec -it container_name bash`
3. 進行 ssh 的安裝
    ```bash
    apt update
    apt install openssh-server
    ```
4. 設定 `passwd`
    `passwd`
5. 修改 sshd 設定檔 註解 `PermitRootLogin prohibit-password` 並加入 `PermitRootLogin yes`
    `vi /etc/ssh/sshd_config`
6. `service ssh restart` 重啟 ssh


## HOST 透過 ssh 連接 container
1. `ssh -p 2222 root@localhost`