无法通过ssh

时间:2016-08-17 06:46:13

标签: git ssh git-clone phabricator

我已按照https://secure.phabricator.com/book/phabricator/article/diffusion_hosting/https://gist.github.com/sparrc/b4eff48a3e7af8411fc1

中提到的步骤,在我的云ubuntu服务器中使用扩散设置了git存储库托管的phabricator实例

我能够在phabricator网站的扩散部分看到这些存储库。我也能看到克隆ssh URL,但是当我尝试从我的客户端实际克隆repo时,我看到以下内容:

$ git clone ssh://ph-git@pm.example.com:2222/diffusion/GPSCLJ/gps_v1.git gps

Cloning into 'gps'...
Permission denied (publickey,keyboard-interactive).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我已将我的公钥上传到我的phabricator帐户

我对https://gist.github.com/sparrc/b4eff48a3e7af8411fc1#gistcomment-1847168中提到的关于一般设置的其他疑问。 / *没有复制这里的疑虑,因为怀疑的背景是在github gist * /

==============================

嘿@CEPA感谢您的回复(在此编辑,因为如果我回复您的评论,我无法格式化我的观点)

  • 我在克隆网址中看到2222,因为我已经完成了" ./ bin / config set diffusion.ssh-port 2222"明确。做完" ./ bin / config删除diffusion.ssh-port"我再也看不到了
  • 然而,我确实看到" git @ ..."在克隆网址
  • 此外,如果我在克隆时在URL中使用2222,它会使用我的密钥(无论我是否使用" git @"或不是
  • 但如果我不使用2222,那么如果我使用" git @"它会要求passwd并且没有w /"请确保...."错误,如果我不

2 个答案:

答案 0 :(得分:0)

来自GitHub thread

  

此外,我已在网站上为我的用户添加了公钥,但在执行ssh时我们使用“git”用户。这是怎么回事?

它不应该“束缚”。 ssh正在~/.ssh/authorized-keys中查找您的公钥。如果~表示从未包含您的公钥的家庭帐户,则您无权使用该帐户ssh到远程计算机。

答案 1 :(得分:0)

您的克隆网址是否真的有端口?

通常当我看到来自Phabricator的克隆URL时,他们使用默认的SSH端口(22),因此不需要在克隆URL中。这意味着SSHD通常设置为观察不同的端口(如2222),因此当您尝试连接到Phabricator服务器时,您需要指定端口。

你可能已经设置了不同的方式,但这就是我们用它们做的方式(SSHD - >> 2222和Git - > 22)。我希望这会有所帮助。

对于我们的diffusion.ssh-port,我们将其设置为空(默认为22)。您可以通过转到Phabricator实例并转到:<Base_URL>/config/edit/diffusion.ssh-port/

来设置此项

对于SSHD设置,我们修改了/etc/ssh/sshd_config以将port 22更改为port 2222

自从我设置以来已经有很长一段时间了。据我记忆,我们遵循了these directions