파이썬에서 ftp 라이브러리를 사용해서 다른 서버의 21번 포트(ftp)로 연결해 파일을 넘겨줄 일이 생겼다.
타겟 서버에서 21 포트의 방화벽 규칙만 설정하면 될 줄 알았으나,, 아무리 방화벽 이상이 없는 걸 확인해도 열리지 않았다. ㅠ vsftpd(= Very Secure FTP Daemon , ftp 서버 소프트웨어)도 설치해야 함!
방화벽 확인
내가 사용한 서버는 iptables 방화벽만 있었는데, firewalld 등 다른 방화벽도 있는지 체크해야 한다.
sudo iptables -L #현재 규칙 확인
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #21번 포트 open 규칙 추가
21번 포트에 대해 어디서든 들어오는 input을 accept한다는 규칙을 추가하고 현재 규칙을 확인하면, 잘 적용된 것을 볼 수 있다!
설치 및 vsftpd 시작 방법
- 패키지 목록을 업데이트
- sudo apt update
- vsftpd를 설치
- sudo apt install vsftpd
- vsftpd 서비스를 시작:
- sudo service vsftpd start
nmap -p 21 <server>로 포트 확인
STATE가 open이면 성공이다
이젠 이 오류가 생김 ㅠ -> FTP 서버는 열렸으나, 업로드를 허용하지 않았기 때문이다
FTP 서버가 업로드를 허용하도록 하려면 FTP 서버 설정 파일을 열어서 주석 처리된 몇몇 옵션들을 풀어줘야 한다.
설정 파일은 /etc/vsftpd.conf 에 있다!
sudo vi /etc/vsftpd.conf
모두 수정한 후에는
service vsftpd restart
을 사용해서 서비스를 다시 시작해서 변경 사항을 적용해준다.
이제 해결 완료!💥
'Linux, etc' 카테고리의 다른 글
[cmake] 필요한 패키지 설치, apt-get (0) | 2024.01.10 |
---|---|
Ubuntu에 teams 설치하기 (0) | 2023.12.06 |
virtualenv 가상환경 (0) | 2023.08.28 |
Latex으로 알고리즘 Algorithm 작성하기 (0) | 2022.09.26 |
RuntimeError: CUDA error: all CUDA-capable devices are busy or unavailable (0) | 2022.07.11 |