2016-05-11 9 views
3

SSHでコンテナにログインするためのテストを受けるドッカー画像を作成しました。しかし、私がコンテナにsshしようとすると、私はrootのパスワードを尋ねられました。それを回避するためのあらゆるアイデア。sshをコンテナに入れたときに尋ねられるパスワード

あなたはsshdがそこにあなたの公開鍵が見つからない場合は、コンテナroot/.ssh/authorized_keys

に公開鍵を追加する必要がDockerfile

FROM ubuntu:trusty 

RUN apt-get update 

RUN apt-get install -y openssh-server supervisor vim build-essential git 
RUN mkdir -p /var/run/sshd 
ADD supervisord/sshd.conf /etc/supervisor/conf.d/sshd.conf 
RUN echo 'root:root' | chpasswd 

EXPOSE 22 
CMD ["/usr/bin/supervisord"] 

supervisord/sshd.conf

[supervisord] 
nodaemon=true 

[program:sshd] 
command=/usr/sbin/sshd -D 

答えて

5

、それユーザ名/パスワード認証にフォールバックします。

の例では、「Setting ssh public keys on Docker image」だろうが、それはコンテナが秘密鍵を有することを意味するように私はそれを好きではない(それはそれを必要としません)

それはするのがベストです:

  • 公開鍵/秘密鍵をローカルに生成します。
  • コンテナのsshでアクセスすることができるようになる画像を生成し、あなたのDockerfile

COPY yourPublicKey /root/.ssh/authorized_keysを追加します。

ホストでに秘密鍵id_rsaと公開鍵id_rsa.pubが含まれていることを確認してください。一般以下、お使いのドッキングウィンドウのホストとあなたのドッキングウィンドウコンテナ間のsshの認証を可能にします

ここに示されているSSH認証メカニズム(すなわち、ドッキングウィンドウに固有ない。):

http://sebastien.saunier.me/images/posts/SSH%20Connection%20explained.png

(ソース」 GitHub public key authentication "からSébastien Saunier ‏- @ssaunier

+0

回答ありがとうございます。しかし、私は人々がsshなしでログインできるようにしたい場合。私はパスワードだけで意味します。それは可能ですか? – Tosh

+0

@Toshiあなたの質問は、ユーザー名/パスワードを使用するのではなく、sshを使用しようとしていたのですか? – VonC

+0

はい、私はそれについて興味があります。 sshでログインするには2つの方法があるので。 1.公開認証キー2.ユーザー名/パスワード。私はusername/passwordで試してみたところ、パスワードを尋ねられました。私はログインできませんでした(正確なパスワードは分かりません)。 – Tosh

関連する問題