Por que o SFTP não funciona (o SSH funciona)?

0

Eu tenho servidor dedicado com o Ubuntu Server 16.04 + VestaCP. O acesso SSH funciona perfeitamente, mas o SFTP foi quebrado. Eu não sei quando quebrou, mas antes disso tudo funcionou como esperado.

Quando eu me conecto ao sftp do mashine local, isso funciona:

Mar  6 13:52:37 local sftp-server[2120]: session opened for local user user1 from [10.10.80.120]
Mar  6 13:52:37 local sftp-server[2120]: received client version 3
Mar  6 13:52:37 local sftp-server[2120]: debug3: request 1: realpath
Mar  6 13:52:37 local sftp-server[2120]: realpath "."
Mar  6 13:52:37 local sftp-server[2120]: debug1: request 1: sent names count 1

Quando tento fazer isso a partir do host remoto, recebo uma linha:

Mar  6 19:34:06 server sftp-server[3545]: session opened for local user root from [xxx.xxx.xxx.xxx]

Nada acontece e a conexão é desativada por tempo limite. Eu não recebo nenhum erro e não consigo determinar a causa deste problema.

Eu tenho configurações padrão em / etc / ssh / sshd_config:

Subsystem sftp /usr/lib/openssh/sftp-server -l debug3

Eu não quero substituí-lo para o interno-sftp. Isso deve funcionar sem alterações, porque funcionou antes.

    
por karpo518 07.03.2018 / 08:50

1 resposta

0

Quando um cliente SFTP se conecta a um servidor SFTP, a primeira troca de dados ocorrer é para o cliente enviar sua versão do protocolo SFTP para o servidor. O servidor responde com a versão do protocolo SFTP que está disposta a usar para a sessão e, em seguida, o cliente e o servidor procedem de lá.

Você pode ver no seu primeiro exemplo de log que o cliente enviou sua versão para o servidor:

Mar 6 13:52:37 local sftp-server[2120]: received client version 3

Essa linha está faltando na segunda amostra de log. A explicação mais simples para isso é que o cliente nunca a enviou.

Em suma, parece que o cliente SFTP que está sendo usado no segundo caso está com defeito. Não está enviando a mensagem que deve enviar para iniciar a troca do SFTP.

    
por 07.03.2018 / 15:33