Dockerで構築したCentOS7にSSH接続する

プログラミング

Dockerfileで構築したCentOS7にホストOSからSSH接続します。
Dockerのインストールはこちらを参考にしてください。

DockerfileでSSH接続可能なCentOS7を構築

# CentOS7の最新イメージを使う
FROM centos:centos7

# OpenSSH サーバをインストールする
RUN yum -y install openssh-server

# sshでログインできるようにする 
RUN sed -ri 's/^#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config

# root のパスワードを 設定
RUN echo 'root:rootpass' | chpasswd

# 使わないにしてもここに公開鍵を登録しておかないとログインできない 
RUN ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key

# sshd の使うポートを公開する
EXPOSE 22

# sshd を起動する
CMD ["/usr/sbin/sshd", "-D"]

Dockerfileをビルドする

$ ls
Dockerfile

# ビルドする
$ docker build -t ssh-test .

# イメージの確認
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ssh-test            latest              646fe052e3c8        40 minutes ago      288MB

SSH接続

# コンテナを起動
$ docker run -itd -p 2222:22  --hostname ssh-man --name ssh-test ssh-test:latest

# SSH接続する
$ ssh -p 2222 root@localhost
root@localhost's password:rootpass
Last failed login: Fri Jul 17 12:03:17 UTC 2020 from gateway on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Fri Jul 17 11:49:05 2020 from gateway

無事にSSH接続できました。

以上でDockerで構築したCentOS7にSSH接続するは完了です。

pocketcode

30代のWEB系企業エンジニアです。毎回同じようなことを検索してしまうので、自分の備忘録的に書いています。サイトのデザインはQiita(https://qiita.com)さんに寄せています。