繁体   English   中英

无法使用SSH密钥从远程服务器访问bitbucket,以对存储库中的最新代码执行git pull

[英]Unable to access bitbucket from remote server using SSH key to perform a git pull on latest code in repository

我正在尝试使用git pull命令将bitbucket上的最新代码提取到开发(Ubuntu)服务器中。 git pull命令尝试通过SSH连接以root用户身份访问bitbucket,但还要求提供与SSH相关的释义。 Ubuntu服务器上的root / .ssh文件夹包含id_rsa和id_rsa.pub文件,但是我无法将id_rsa.pub中的公共密钥添加到bitbucket,因为显然该密钥正在被其他人使用。 我也不知道与此SSH密钥有关的释义。 有几个问题:

  1. 当我无法将SSH公钥添加到bitbucket时,远程服务器如何通过SSH连接到bitbucket存储库?
  2. 我是否应该在Ubuntu服务器中创建一个新的SSH密钥,然后尝试将其(公共密钥部分)添加到bitbucket,然后使用新密钥访问bitbucket?
  3. 如果没有输入git pull命令后服务器不断提示我输入的含义,从存储库中提取代码的最佳方法是什么? 我可以想到一些,但希望您能从最好的方法中得到指导:

A)创建新的SSH密钥(带有或不带有释义,尽管我认为使用释义更安全),将新的公钥添加到bitbucket,然后尝试通过SSH从bitbucket中提取代码。 我认为服务器仍会尝试以root用户而不是我用于登录服务器的用户名访问bitbucket。 当然,这将需要我首先获得对/ root和/root/.ssh文件夹的读写执行特权(在我的服务器上,我已经禁用了root用户的登录能力)。

B)使用现有的SSH密钥(如上所述,我无法将其添加到bitbucket中)以其他用户身份(不是root用户,但也许是我用来登录Ubuntu服务器的用户名)访问bitbucket。使用这种方法从bitbucket存储库中删除代码,我是否首先需要在Ubuntu服务器上的主目录(/home/myusername/.ssh)下设置SSH密钥?

当我无法将SSH公钥添加到bitbucket时,远程服务器如何通过SSH连接到bitbucket存储库?

在初始化到Bitbucket的连接时使用SSH握手协议,这涉及确定可以使用哪个密钥。 在这种情况下,将尝试root / .ssh中的每个密钥,当Bitbucket接受每个密钥时,将建立一个连接(您可能有一个root / .ssh / config,该状态指出要使用哪个密钥,然后只有使用)

SSH密钥与Bitbucket上的单个帐户(1-1关系)相关联,当给定SSH密钥(来自握手过程)时,Bitbucket知道要使用哪个帐户。 显然,有人已经在使用此密钥。

我是否应该在Ubuntu服务器中创建一个新的SSH密钥,然后尝试将其(公共密钥部分)添加到bitbucket,然后使用新密钥访问bitbucket?

是的,您需要从开发服务器访问Bitbucket的Bitbucket上的每个帐户至少有一个密钥。

如果没有输入git pull命令后服务器不断提示我输入的含义,从存储库中提取代码的最佳方法是什么?

目前尚不清楚为什么使用root来访问Bitbucket,但如果可能的话,我将在主目录/home/myusername/.ssh拥有自己的密钥(并在服务器上拥有我自己的远程存储库的副本)。

我假设root正在运行一些涉及从Bitbucket提取的任务,那么您可以为其创建一个单独的Bitbucket帐户,并为该帐户使用单独的密钥。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM