0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker コンテナ間でssh接続してみよう。

Last updated at Posted at 2022-06-06

学習用にメモ。
"slave"と"master"の2台のコンテナを立ち上げて、"slave"→"master"にssh接続してみる。

準備

・Dockerfileを用意。

# 使用するOS
FROM ubuntu:21.10

# コマンド準備
RUN apt-get update && \
    apt-get install -y vim && \
    apt-get install -y sudo

# SSHプロトコルを利用するためのソフトウェアをインストール
RUN apt-get install -y openssh-server

# 公開鍵と秘密鍵用
RUN mkdir  ~/.ssh && \
    touch  ~/.ssh/authorized_keys && \
    chmod 600  ~/.ssh/authorized_keys

・ネットワークを作成(コンテナ間で通信ができるように。)

$ docker network create ssh_network

イメージを作成

$ docker build -t sshcontainer:test .

コンテナを起動

$ docker run -it --name master -p 2222:22 --network ssh_network sshcontainer/test
$ docker run -it --name slave -p 2233:22 --network ssh_network sshcontainer/test

slave側で公開鍵と秘密鍵を作成

# cd ~/.ssh

// 作成
# ssh-keygen

master側で公開鍵のコピー

// slave側で先ほど作成した公開鍵(デフォルトなら"id_rsa.pub")をコピー。

# vim ~/.ssh/authorized_keys
// 公開鍵をペースト。

master側コンテナのsshのポート番号を変更

# vi /etc/ssh/sshd_config

// 以下のようにデフォルトではなっているので、Portを2222にしてコメントアウトを外す。
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22 ← コメントアウトを外して"Port 2222"に変更する。

ssh-server再起動
# sudo /etc/init.d/ssh restart

ssh接続

# ssh root@master

※参考にさせていただいたURL(ほぼここ)
Dockerコンテナ間でssh接続をする

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?