SFTP가 작동하지 않는 이유(SSH 작동)

SFTP가 작동하지 않는 이유(SSH 작동)

Ubuntu Server 16.04 + VestaCP를 사용하는 전용 서버가 있습니다. SSH 액세스는 완벽하게 작동하지만 SFTP가 작동하지 않습니다. 언제 고장이 났는지는 모르겠지만 그 전에는 모든 것이 예상대로 작동했습니다.

로컬 mashine에서 sftp에 연결하면 작동합니다.

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

원격 호스트에서 이 작업을 수행하려고 하면 다음과 같은 줄이 나타납니다.

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

아무 일도 일어나지 않고 시간 초과로 인해 연결이 끊어집니다. 오류가 발생하지 않으며 이 문제의 원인을 확인할 수 없습니다.

/etc/ssh/sshd_config에 기본 설정이 있습니다.

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

나는 그것을 내부 SFTP로 바꾸고 싶지 않습니다. 이는 이전에도 작동했으므로 변경 없이 작동해야 합니다.

답변1

SFTP 클라이언트가 SFTP 서버에 연결되면첫 번째 데이터 교환클라이언트가 SFTP 프로토콜 버전을 서버로 보내는 일이 발생합니다. 서버는 세션에 사용할 SFTP 프로토콜 버전으로 응답한 다음 클라이언트와 서버가 거기서부터 진행합니다.

첫 번째 로그 예제에서 클라이언트가 해당 버전을 서버로 보낸 것을 볼 수 있습니다.

3월 6일 13:52:37 local sftp-server[2120]: 클라이언트 버전 3을 받았습니다.

해당 줄은 두 번째 로그 샘플에서 누락되었습니다. 이에 대한 가장 간단한 설명은 클라이언트가 보낸 적이 없다는 것입니다.

간단히 말해서, 두 번째 경우에 사용되는 SFTP 클라이언트가 제대로 작동하지 않는 것 같습니다. SFTP 교환을 시작하기 위해 보내야 하는 메시지를 보내지 않습니다.

관련 정보