bitbucket docker权限被拒绝(publickey)。致命:无法从远程存储库读取

时间:2017-03-10 02:15:20

标签: git docker bitbucket

我正在使用以下代码创建一个docker文件:

# Update aptitude with new repo
RUN apt-get update

# Install software 
RUN apt-get install -y git
# Make ssh dir
RUN mkdir /root/.ssh/

# Copy over private key, and set permissions
ADD id_rsa /root/.ssh/id_rsa

# Create known_hosts
RUN touch /root/.ssh/known_hosts
# Add bitbuckets key
RUN ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts

RUN chgrp 545 ~/.ssh/id_rsa
RUN chmod 600 ~/.ssh/id_rsa

# Clone the conf files into the docker container

RUN git clone git@bitbucket.org:xxxxxx/teste.git

RUN cd teste echo "# My project's README" >> README.md 
RUN git add README.md 
RUN git commit -m "Initial commit" 
RUN git push -u origin master

但是当我构建文件时,我收到以下错误:

  

克隆到'teste'...警告:永久添加RSA主机密钥   将IP地址'xxx.xxx.xxx.x'添加到已知主机列表中。允许   否认(公钥)。致命的:无法从远程存储库读取。

     

请确保您拥有正确的访问权限和存储库   存在。命令'/ bin / sh -c git clone   git@bitbucket.org:xxxxxxxx/teste.git'返回非零代码:   128

我使用PuTTY key gen生成了id_rsa,并且已经存储在bitbucket中。

任何人都可以提供帮助吗?

2 个答案:

答案 0 :(得分:0)

我认为您还需要在容器中添加相应的私钥。由于您提到使用putty生成了id_rsa密钥,因此该密钥位于主机中。

您需要在容器中添加id_rsa密钥,在bitbucket上添加id_rsa.pub。

This帖子可能对您有所帮助。

答案 1 :(得分:0)

您必须将执行命令的存储库的公共SSH密钥添加到您要克隆的存储库的“访问密钥”部分。我有相同的issue