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