SSH接続可能なコンテナ

テストを行う際にSSHで接続可能な相手がいる必要があったのでDockerで対応できないか試してみた。

■ 環境

  • Docker 1.12.1
  • Mac OSX El Capitan

■ sshd

まずは検索。

$ docker search sshd
NAME                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
rastasheep/ubuntu-sshd              Dockerized SSH service, built on top of of...   42                   [OK]
devtransition/jmeter-remote-sshd    jMeter server running standalone as remote...   3                    [OK]
  :
$

とりあえず一番上に出力されたコンテナを試してみることにする。

$ docker pull rastasheep/ubuntu-sshd

レポジトリの名前からDockerHub上のURLが想像できるのでブラウザで確認。

https://hub.docker.com/r/rastasheep/ubuntu-sshd/

とりあえず普通に起動して良さそうだ。

$ docker run -d -P --name test_ubuntu rastasheep/ubuntu-sshd

確認して接続してみる。

$ docker ps -a
CONTAINER ID        IMAGE                    COMMAND               CREATED             STATUS              PORTS                   NAMES
e090434f3fec        rastasheep/ubuntu-sshd   "/usr/sbin/sshd -D"   15 seconds ago      Up 14 seconds       0.0.0.0:32768->22/tcp   test_ubuntu
$
$ docker port test_ubuntu 22
0.0.0.0:32768
$
$ ssh -p 32768 root@localhost
root@localhost's password:
Last login: Fri Sep 30 13:51:20 2016 from 172.17.0.1
root@e090434f3fec:~#

お、接続できた。これは試験用に使えそうである。

以上。