'Unable to negotiate with __IP_ADDRESS_ port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

While using git clone in PhpStorm, I got an error message:

Clone failed
Unable to negotiate with IP ADDRESS port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

I then made my own RSA key in and saved it on my computer; also registered it on the server (by server host) where I wanted to get git clone. I've also downgraded my latest PhpStorm version. As a last resort I have also reset my computer and reinstalled PhpStorm.

But I still have that error message in my PhpStorm event log.

Plus, when I first got PhpStorm, I could easily get clone successfully, but suddenly after days, I've got event log entries like that.

Can I get a solution about this, OTL



Solution 1:[1]

On Linux/Ubuntu I added the following lines to /etc/ssh/ssh_config:

    PubkeyAcceptedAlgorithms +ssh-rsa
    HostkeyAlgorithms +ssh-rsa

I guess it is equivalent (and better) to put the same lines in a separate file in /etc/ssh/ssh_config.d.

Solution 2:[2]

Check, as in here, if using a private key without passphrase improves the situation.

Check also settings>Version Control>git >SSH Executable: try system instead of "native", and double-check your %PATH% (Windows) or $PATH (Linux/Mac).

On Windows, I would make sure C:\Program files\Git\usr\bin\ssh.exe comes first.

Solution 3:[3]

Add PubkeyAcceptedAlgorithms +ssh-rsa and HostkeyAlgorithms +ssh-rsa attributes.

nano ~/.ssh/config
Host hostname_of_machine
    HostName hostname_or_ip_address
    User root
    IdentityFile ~/.ssh/file.pem
    IdentitiesOnly yes
    PubkeyAcceptedAlgorithms +ssh-rsa
    HostkeyAlgorithms +ssh-rsa

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Paolo Mascellani
Solution 2 VonC
Solution 3 Antonio Moreno