Apenas adicionando isso caso alguém mais se depare com isso.
Eu estava tendo um problema semelhante no qual o SSH estava funcionando, mas o SFTP não estava.
Aqui está a entrada do FAQ do OpenSSH que ajudou.
2.9 - sftp/scp fails at connection, but ssh is OK.
sftp and/or scp may fail at connection time if you have shell initialization (.profile, .bashrc, .cshrc, etc) which produces output for non-interactive sessions. This output confuses the sftp/scp client. You can verify if your shell is doing this by executing:
ssh yourhost /usr/bin/true If the above command produces any output, then you need to modify your shell initialization.
No meu caso, eu tinha algo no meu .bashrc
Eu adicionei o seguinte no final do comando para interromper a saída dele.
> /dev/null 2>&1