gitlab - ssh_exchange_identification:读取:由同行

时间:2018-03-13 21:49:53

标签: ssh gitlab

我正试图从我的Macbook克隆Gitlab服务器。当我克隆时,我收到以下错误:

manzanita-226-109:icarus dzdang$ git clone elm:dummy/dummy.git
Cloning into 'dummy'...

ssh_exchange_identification: read: Connection reset by peer
fatal: Could not read from remote repository.

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

当我尝试ssh到gitlab服务器时,我得到以下内容:

OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /Users/dzdang/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to elm.ndc.nasa.gov port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/dzdang/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/dzdang/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/dzdang/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/dzdang/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/dzdang/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/dzdang/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/dzdang/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/dzdang/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
ssh_exchange_identification: read: Connection reset by peer

我可以使用谷歌浏览器访问gitlab服务器,没有任何问题。我也尝试克隆和从不同的服务器ssh,没有问题。我没有这个gitlab服务器的管理员权限,但我不相信那里有任何禁止/黑名单软件。

任何人都可以提供建议吗?

6 个答案:

答案 0 :(得分:4)

ssh_exchange_identification: read: Connection reset by peer

这基本上意味着服务器接受TCP连接后立即"reset"。常见的原因是:

  • 远程SSH服务器软件出现故障(例如崩溃)。
  • 远程SSH服务器软件配置为出于某种原因断开连接。
  • 您和服务器之间的某些路由器或其他网络设备正在干扰TCP连接。

没有办法确切地告诉客户端调试消息有什么问题。您需要在服务器上对此进行故障排除。例如,远程SSH服务器程序可能有一个您可以查看的日志文件。

答案 1 :(得分:0)

我有一个类似的问题,我发现/ var / empty文件夹有错误的所有者。我跑了“sudo chown root / var / empty”,它解决了这个问题。

答案 2 :(得分:0)

在我的服务器(Dockerized GitLab)上,问题是我给了/ etc / gitlab中sshd密钥的错误权限,可以通过检查/ var / log / gitlab / sshd中的日志来查看。

我通过使用以下命令更改服务器上的权限来解决该问题:

chmod -R 700 /etc/gitlab

答案 3 :(得分:0)

我有同样的错误。也许是通用的,但是我的问题是服务器上有一些未提交的更改,需要先添加和提交,然后才能从计算机中推送更改。希望这可以节省一些时间,因为它浪费了几个小时。谢谢!

答案 4 :(得分:0)

我只是将url从ssh更改为http,并且它修复了所有问题...

git remote set-url origin https://username@gitclient.com/reposetory_address

答案 5 :(得分:0)

添加我的场景。在我的情况下,github服务器是私有的,以前github repo服务器ip是固定的,我将其添加到/ etc / hosts文件中。维护后服务器ip已更新,但是hosts文件未更新。我删除了/ etc / hosts文件中的固定项目,错误消失了。 仅供参考,以防万一有人遇到同样的问题。