본문 바로가기
CentOS and Redhat Linux/Linux 설정 및 기능

(Linux) FTP 오류와 해결 방법 정리

by 미니몬 2024. 6. 19.

목차

    728x90
    반응형

    Summary

    이 게시물에서는 FTP 사용시 발생할 수 있는 오류에 대한 해결 방법을 정리해보도록 하겠습니다.

    만약 이 글을 읽고 있다면 당신은 다양한 오류가 발생할 수 있음을 받아들이고 책임지고 트러블 슈팅 할 줄 아는 멋진 사람일 확률이 높습니다. 화이팅..!!

     


    530 Login incorrect

    원인: 유저명이나 비밀번호가 틀렸을 때 발생합니다. 또는 계정이 비활성화되어 있을 때도 발생할 수 있습니다.

    해결:

    • 올바른 사용자 이름과 비밀번호를 입력합니다.
    • 사용자 계정이 활성화되어 있는지 확인합니다.
    • /etc/vsftpd/user_list나 /etc/vsftpd/ftpusers 파일에 해당 사용자가 차단되어 있는지 확인합니다.
      (해당 파일에 사용자의 이름이 있다면 차단될 수 있습니다)
    • 보안 설정이 ftp 서비스 또는 네트워크 접근을 막고 있는지 확인이 필요합니다.
      '/etc/pam.d/vsftpd' 파일에 아래 내용을 주석처리 합니다.
    #auth       required    pam_shells.so
    • 유저의 Shell 정보가 '/etc/shells/' 파일에 등록된 유효한 쉘 정보인지 확인합니다.

    500 OOPS: vsftpd: refusing to run with writable root inside chroot()

    원인: chroot 설정으로 인해 사용자의 홈 디렉토리가 쓰기 가능 상태일 때 발생합니다.

    해결:

    sudo chmod a-w /home/ftpuser

     


    Connection refused

    원인: FTP 서버가 실행 중이지 않거나 방화벽 설정이 잘못된 경우 발생합니다.

    해결:

    • FTP 서버가 실행 중인지 확인합니다
    • 방화벽 설정을 확인하고 FTP 포트가 오픈되어 있는지 점검 합니다.

    550 Permission denied

    원인: 파일 또는 디렉토리에 대한 권한이 없을 때 발생합니다.

    해결:

    sudo chown ftpuser:ftpuser /path/to/directory
    sudo chmod 755 /path/to/directory

    421 Service not available, remote server has closed connection

    원인: 서버가 과부하 상태이거나 설정된 최대 연결 수를 초과했을 때 발생합니다.

    해결: 연결 수를 조정합니다.

    max_clients=100
    max_per_ip=10

    425 Can't open data connection

    원인: 패시브 모드에서 데이터 연결을 설정할 수 없을 때 발생합니다. 주로 방화벽 설정 문제나 NAT 문제로 인해 발생합니다.

    해결:

    • 패시브 모드 포트를 방화벽에서 열어줍니다
    • vsftpd 설정 파일에서 패시브 모드 포트를 지정합니다
      pasv_max_port=2000
      pasv_min_port=1000

    530 Must perform authentication before identifying commands

    원인: 익명 사용자로 접속 시 인증이 필요할 때 발생합니다.

    해결: 익명 사용자에 대한 접속 차단을 비활성화 합니다.

    anonymous_enable=NO

    553 Could not create file

    원인: 파일을 생성할 권한이 없을 때 발생합니다.

    해결:

    sudo chmod 755 /path/to/directory

    502 Command not implemented

    원인: 클라이언트가 지원하지 않는 명령어를 사용할 때 발생합니다.

    해결: 사용 중인 클라이언트와 서버의 호환성을 확인하고, 지원되는 명령어를 사용합니다.


    530 User cannot log in, home directory inaccessible

    원인: 사용자의 홈 디렉토리가 존재하지 않거나 접근할 수 없을 때 발생합니다.

    해결

    sudo mkdir -p /home/ftpuser
    sudo chown ftpuser:ftpuser /home/ftpuser
    sudo chmod 755 /home/ftpuser

    425 Security: Bad IP connecting

    원인: FTP 서버가 잘못된 IP 주소에서의 접속을 거부할 때 발생합니다.

    해결: 패시브 모드에서 클라이언트가 요청한 임의의 IP 주소에 대해 응답하도록 허용하도록 설정합니다.

    • '/etc/vsftpd/vsftpd.conf' 파일을 열어 아래 내용을 추가합니다.
    pasv_promiscuous=YES
    
    pasv_address=접속허용_IP

    TLS/SSL 관련 오류

    원인: TLS/SSL 설정 문제로 인해 안전한 연결을 설정할 수 없을 때 발생합니다.

    해결:

    • '/etc/vsftpd/vsftpd.conf' 파일을 열어서 아래 내용을 추가합니다.
    ssl_enable=YES
    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES
    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
    rsa_cert_file=/etc/vsftpd/vsftpd.pem
    • OpenSSL 명령으로 인증서를 생성하고 적절한 경로에 배치합니다.
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
    • 'vsftpd' 서비스를 재시작 하여 적용합니다.
    sudo systemctl restart vsftpd

     

     

    오늘은 리눅스 파일 전송 프로토콜인 FTP 관련된 에러와 해결 방법에 대해서 알아보았습니다.

    수정 및 추가 에러가 생기는 경우 계속 업데이트 하도록 하겠습니다!!!!!

    728x90
    반응형