RHEL7에서 구성했으며 RHEL6 vsftpd
에서 데이터를 전송하려고 합니다 lftp
.
lftp
PASS
로그인 명령을 보낸 후 실패한 것 같습니다 anonymous
.
---> USER anonymous
<--- 331 Please specify the password.
---> PASS xxxxxx
**** gnutls_record_recv: An unexpected TLS packet was received.
---- Closing control socket
cd: Fatal error: gnutls_record_recv: An unexpected TLS packet was received.
해당 vsftpd
로그 메시지:
Wed Mar 18 08:20:41 2020 [pid 37007] FTP command: Client "XX.XXX.XX.XX", "USER anonymous"
Wed Mar 18 08:20:41 2020 [pid 37007] [anonymous] FTP response: Client "XX.XXX.XX.XX", "331 Please specify the password."
Wed Mar 18 08:20:41 2020 [pid 37007] [anonymous] FTP command: Client "XX.XXX.XX.XX", "PASS <password>"
Wed Mar 18 08:20:41 2020 [pid 37006] [cfgdb] OK LOGIN: Client "XX.XXX.XX.XX", anon password "xxxxxx"
그러나 RHEL6에 구성된 lftp
것에 연결할 때도 동일하게 작동합니다. 연결 성공 시 RHEL6의 로그:vsftpd
vsftpd
Wed Mar 18 06:16:26 2020 [pid 706] FTP command: Client "XX.XXX.XX.XX", "USER anonymous"
Wed Mar 18 06:16:26 2020 [pid 706] [anonymous] FTP response: Client "XX.XXX.XX.XX", "331 Please specify the password."
Wed Mar 18 06:16:26 2020 [pid 706] [anonymous] FTP command: Client "XX.XXX.XX.XX", "PASS <password>"
Wed Mar 18 06:16:26 2020 [pid 703] [cfgdb] OK LOGIN: Client "XX.XXX.XX.XX", anon password "xxxxxx"
Wed Mar 18 06:16:26 2020 [pid 709] [cfgdb] FTP response: Client "XX.XXX.XX.XX", "230 Login successful."
lftp
RHEL6 버전:
# lftp -v
LFTP | Version 4.0.9 | Copyright (c) 1996-2010 Alexander V. Lukyanov
vsftpd
RHEL7에서:
# vsftpd -v
vsftpd: version 3.0.2
답변1
을 사용하여 문제를 찾았습니다 strace
.
vsftpd
사용하여 디버깅할 때 strace
오류 메시지가 나타났습니다 Cannot change directory
.
vsftpd
의 홈 디렉터리로 전환하려고 시도했는데 ftp_username
디렉터리가 없으면 vsftpd
실패했습니다(아무데도 오류가 기록되지는 않았지만).
ftp_username
문제를 해결하기 위해 홈 디렉터리를 생성합니다 .