Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
23
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@YumaInaura

Docker 初心者 — ssh で接続できるサーバーを立てる

解説

dockerだからといって特別な何かをするわけではない。

通常のサーバーと同じように、

  • openssh をインストールする
  • パスワードを設定する
  • 必要な設定を書き換える

ということを順におこなう。

動作例 (Ubuntuの場合)

Dockerfile

sed で強引に ssh の設定ファイルを書換えたりしている

FROM ubuntu:16.04

RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:screencast' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

( Dockerize an SSH service | Docker Documentation より )

イメージの作成

$ docker image build . -t ssh_server

コンテナの実行

適当なポートを繋げる。

$ docker run -d -p 10000:22 ssh_server

[コンテナID] が標準出力されるので控えておく。

sshコマンドでアクセス

パスワードを聞かれるので入力する。( この例では screencast )

ssh root@127.0.0.1 -p 10000

環境

  • Docker version 17.06.1-ce, build 874a737
23
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
23
Help us understand the problem. What is going on with this article?