PhpStorm:算法协商失败

PhpStorm: Algorithm negotiation fail

我有一个远程服务器,用于托管我的项目。而且我在本地使用我的 PhpStorm,所以每次我保存时,它都会自动与远程服务器同步。

但是,我未能将 PhpStorm 配置为 运行 PHP远程服务器上的单元。

Configure Remote PHP Interpreter 下,我填写了正确的信息(主机、用户名和密码)。

我在验证时遇到的错误是 "Algorithm negotiation fail",在我尝试指定 PHP 解释器的路径时遇到的错误是 "Test SFTP Connection: Connection to 'id address' failed. Connection failed"

我该如何解决?

我遇到了同样的问题。我通过添加

解决了这个问题
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

/etc/ssh/sshd_config 
之后,我重新启动 sshd

sudo systemctl restart sshd

正如 Guillaume Fache 所建议的那样,PhpStorm 的最低配置是:

KexAlgorithms diffie-hellman-group1-sha1

diffie-hellman-group1-sha1 使用:

1) 1024 bits modulus - 易碎,标记为 insecure

2) SHA-1 - 易碎,确认碰撞攻击的可能性


结论:

使用 public/private 密钥对 - 更安全,无需保存或输入密码

编辑此文件:

sudo /etc/ssh/sshd_config 

添加这一行:

KexAlgorithms diffie-hellman-group1-sha1

并重新启动:

sudo systemctl restart sshd

对我有用!

刚刚将 Ubuntu 升级到 16.04 并遇到了这个问题,PHPStorm 8.0.3 中的 "Algorithm negotiation fail"。

问题出在 jsch-0.1.51.jar 库上。如果你用 https://sourceforge.net/projects/jsch/ 的最新版本(当前是 jsch-0.1.54.jar)覆盖 jsch-0.1.51.jar 文件并重新启动,应该没问题。无需向您的 ssh 守护程序添加不安全的算法。