ssh-dss on heroku-20 stack

Viewed 206

On upgrading my Ruby on Rails app from the heroku-16 to heroku-20 stack, I'm no longer able to connect to a certain SFTP server:

could not settle on host_key algorithm
Server host_key preferences: ssh-dss
Client host_key preferences: ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,ssh-rsa-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-rsa

It appears they have removed support for ssh-dss this in the current stack. According to https://www.openssh.com/legacy.html it can be enabled by modifying /.ssh/config file with '

Host somehost.example.org
    HostKeyAlgorithms +ssh-dss

though I don't know how or if it's possible to modify this on Heroku.

Any help is appreciated, thank you.

1 Answers

I was able to re-enable DSS by adding append_all_supported_algorithms: true as a parameter to the Net::SFTP.start call. According to the net-ssh documentation, this will work until version 7 of the gem which removes DSS support entirely.

Related