ssh-rsa client compatibility for SFTP
DocEvent's SFTP servers use an RSA host key (see
SSH host keys). Modern OpenSSH clients connect to
our current servers without any special configuration - RSA keys are signed
with the modern rsa-sha2 algorithms, which every current client accepts.
If you hit either of the errors below, you are most likely using an older
client or library that only knows the legacy ssh-rsa (SHA-1) algorithm
name, or an old server build. Both have the same workaround.
Error: "no matching host key type found. Their offer: ssh-rsa,ssh-dss"
Unable to negotiate with <host> port 22: no matching host key type found.
Their offer: ssh-rsa,ssh-dss
Your client refused to accept a legacy ssh-rsa host key signature. Allow it
for DocEvent hosts only, in ~/.ssh/config:
Host *.docevent.io
PubkeyAcceptedAlgorithms +ssh-rsa
HostkeyAlgorithms +ssh-rsa
Passwordless login still asks for a password
You configured an authorized key but the server still prompts:
% sftp -i ~/.ssh/id_rsa serviceid/username@sfs-ap-southeast-2.docevent.io
serviceid/username@sfs-ap-southeast-2.docevent.io's password:
Run with -v and look for this line in the debug output:
debug1: send_pubkey_test: no mutual signature algorithm
That means your client would not sign with an algorithm the server accepts
for your RSA key. The same ~/.ssh/config entry fixes it:
Host *.docevent.io
PubkeyAcceptedAlgorithms +ssh-rsa
If the problem persists
Modern clients against the current servers should never need the above. If a
fully updated client still fails, capture the output of sftp -vv ... and
send it to support.