Instalei o FileZilla Pro Server para hospedar meu site FTP/SFTP.
Se eu tentar fazer login no servidor SFTP usando o cliente FileZilla, ele funcionará bem.
Mas temos outra empresa tentando fazer login e está recebendo erros.
2022-11-29 13:25:39.207 FTP< CONNECT ftp.domain.com:22
processLoginCommand(): Exceção ao conectar para InbdProfId: 5915 UserName: XXXXXXXXXedi
Exceção: com.transentric.agilink.ftp.core.exception.TransentricSSHException: com.sshtools.ssh.SshException: Falha ao processar a troca de chaves [com.sshtools.ssh.SshException] [com.sshtools.ssh.SshException]
Não conseguimos descobrir o porquê.
O FileZilla tem algumas chaves públicas/privadas que podem ser configuradas. Eu não estou fazendo nada disso. Eu estava pensando que, como posso fazer login usando o cliente FileZilla usando um nome de usuário e senha normais, isso não deveria ser necessário.
Mas há uma seção de chave pública no FileZilla Server. Alguém sabe quando essa chave é necessária para ser configurada?
A troca de chaves SSH estabelece uma chave de sessão única e autentica o servidor por meio de sua chave de host . Isso é diferente da autenticação do usuário, em que as chaves ou senhas do usuário ou Kerberos estão entre as opções.
O objetivo do protocolo ssh é estabelecer um canal criptografado onde seja possível enviar autenticação fraca como senhas em redes inseguras. Compare com garantir a existência de uma sessão https criptografada por TLS antes de enviar segredos para um servidor da web.
Os algoritmos de troca de chaves são atualizados ao longo do tempo, pois a pesquisa de criptografia torna os métodos mais antigos inseguros. Faça com que eles atualizem seu software sftp para garantir que ele tenha algoritmos modernos.
Ao solucionar isso, inicie uma captura de pacote no servidor para sua porta ssh. O Wireshark pode fazer uma dissecação detalhada do protocolo ssh, para ver o que acontece nos pacotes.
Faça com que o cliente ssh diga o que KEX foi tentado. Por exemplo, o cliente OpenSSH com maior detalhamento dirá exatamente o que o cliente e o servidor têm para algoritmos.
ssh -vv
e examine os algoritmos em torno dos eventos KEXINIT. Você não está usando OpenSSH, então leia também a documentação sobre como exatamente a negociação funciona em sua implementação.