sshはパスワードなしでパスワードを要求します。

sshはパスワードなしでパスワードを要求します。

このdockerファイルを使用してdockerイメージをビルドしようとしていますが、bitbucketからいくつかのプライベートストアを複製する必要があります。

FROM ubuntu

RUN chsh -s /bin/bash



RUN apt-get update
RUN apt-get install -y git python-pip

ADD private_key_for_deployment /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN echo "StrictHostKeyChecking no" >> /root/.ssh/config
RUN echo >> /root/.ssh/config
RUN echo "Host bitbucket.org" >> /root/.ssh/config

RUN cat /root/.ssh/id_rsa
RUN mkdir -p /usr/src/app/
COPY requirements.txt /usr/src/app/
RUN cat /root/.ssh/config
WORKDIR /usr/src/app/
RUN  echo "IdentityFile ~/.ssh/id_rsa" >> /root/.ssh/config
RUN eval "$(ssh-agent)" && \
    ssh-add && \
    ssh-add -l \
    pip install -U -r requirements.txt
COPY . /usr/src/app

WORKDIR /usr/src/app/data_service/
CMD ["python" "data_service.py"]

私も試してみましたssh-add -l

このキーはDockerコンテナ内で完全に機能すると言いたいと思います。キーを生成してSSHエージェントを起動してからこのコンテナにIDを追加すると、そこにリポジトリを複製できます。

編集1

Dockerイメージをビルドすると、これが発生します。

ステップ15: eval "$(ssh-agent)" && ssh-add && pip install -U -rrequirements.txt
実行 ---> 2b9a79fa7cf3
エージェント pid 8 で実行
/root/.ssh/id_rsa のパスワードを入力します: 2015 / 07/02 22:26:46 [/bin/sh -c eval "$(ssh-agent)" && ssh-add && pip install -U -rrequirements.txt] コマンドはゼロ以外のコードを返します。 1

ベストアンサー1

秘密鍵をで指定します/root/.ssh/id_rsa。スクリプトはrootとして実行されていますか?ここでは"IdentityFile ~/.ssh/id_rsa" >> /root/.ssh/config具体的に/root/.ssh/id_rsa。無効なキーを渡したかのように動作します。

私はドッカーを使用していませんが、おそらくこれがあなたの問題に関連している可能性があります。

おすすめ記事