使用节点8.11时出现ssh_exchange_identification错误,但使用节点4.7时却没有

时间:2018-09-06 17:37:54

标签: node.js npm ssh

我在Windows 10机器上同时安装了Node 8.11和Node 4.7。在一个新项目中,当我尝试使用Node 8.11运行'npm install'时,出现以下错误:

npm ERR! Error while executing:
npm ERR! C:\Development\Git\2.16.2\bin\git.EXE ls-remote -h -t ssh://git@github.com/ev1stensberg/generator.git
npm ERR!
npm ERR! ssh_exchange_identification: Connection closed by remote host
npm ERR! fatal: Could not read from remote repository.
npm ERR!
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR!
npm ERR! exited with error code: 128

如果我使用Node 4.7,则安装运行不会出错。我不确定应该在新的节点环境中“修复”什么才能使其正常工作。

当我尝试npm config edit

时,两个环境都显示相同的'.npmrc'文件。

1 个答案:

答案 0 :(得分:0)

ssh_exchange_identification: Connection closed by remote host

此消息表明远程SSH服务器正在接受来自客户端的TCP连接,然后立即关闭连接。客户端和服务器尚未交换任何密钥,密码或其他信息。这表明正在发生以下两种情况之一:

  1. 远程SSH服务器配置为不接受来自主机的连接。
  2. 某些防火墙或其他网络设备正在干扰TCP连接。

看起来远程主机显然是Github,您说它是在同一个主机上的一个程序而不是另一个程序下发生的。鉴于此,我的猜测是您在本地Windows系统上有一些软件可以运行一个NPM安装,但不能运行另一个安装。例如,该软件可能是恶意软件保护程序包的一部分。