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

2

7 Answers

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.

4

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 
2

This is because OpenSSH have deprecated ssh-rsa.
To enable it, add -oHostKeyAlgorithms=+ssh-rsa to your command.

It's work for me , enter ssh config with this command , sudo nano /etc/ssh/ssh_config and then add follow new two line into your ssh config ,

PubkeyAcceptedAlgorithms +ssh-rsa HostkeyAlgorithms +ssh-rsa 

save and exit login again ssh if you got this message "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" type this command and hit enter , rm .ssh/known_hosts try login again ssh. my English is bad sorry for inconvinience

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.

If you are on Windows, try this.

  1. Follow these commands. You can generate id_rsa file and id_rsa.pub. Basically, These files can be found on ~/.ssh directory.
cat ~/.ssh/id_rsa.pub 
ssh-keygen -o -t rsa -b 4096 -C "[email protected]" 
cat ~/.ssh/id_rsa.pub | clip 
ssh -T [email protected] 
  1. Create a config on ~/.ssh directory and paste these attributes.
# GitLab.com Host gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_com_rsa # Private GitLab instance Host gitlab.company.com PreferredAuthentications publickey IdentityFile ~/.ssh/example_com_rsa PubkeyAcceptedAlgorithms +ssh-rsa HostkeyAlgorithms +ssh-rsa 
  • You should change the Host and IdentityFile accordingly. For example: IdentityFile ~/.ssh/id_rsa.
  • Please note these attributes. PubkeyAcceptedAlgorithms +ssh-rsa and HostkeyAlgorithms +ssh-rsa
  1. Try this command and verify that your SSH key was added correctly.
ssh -T [email protected] 

References:

Try these commands:

apt update 
apt install rsh-client 

Then try this again.

rslogin -l user hostIP 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like