본문 바로가기
컴퓨터/리눅스

[Linux] 024. ftp: connect : 연결 시간 초과 문제 해결

by Tommy0927 2020. 12. 10.
반응형


ftp: connect: 연결 시간 초과 문제 해결


ftp 연결 때문에 일주일을 고생한 끝에 알아냈습니다. 여러 글을 돌아다니며 시도를 해보았는데,

저는 매번 실패를 하더라구요. 그래서 저와 같은 이슈가 있으신 분을 위해 남겨 놓겠습니다.

 

일단, ftp란 무엇일까요?

 

ftp란, File Transfer Protocol의 약자로 말 그대로 원격으로 파일을 업로드하고 다운로드 할 수 있게 해주는 프로토콜이며, TCP/IP 네트워크 상에서 컴퓨터들이 파일을 교환하기 위해 1971년 공개된 통신 규약이라고 합니다.

 

 

리눅스를 키고 윈도우에서 ftp를 이용하여 연결을 하려고 시도할 때 'ftp:connect:연결 시간 초과' 라고 뜨면서 접속이 안되는 오류가 있었습니다 (단, 만약에 파일을 올리려고 윈도우에 저장되어있는 폴더로 이동해서 리눅스에 접근을 시도 해야합니다).

 

그러면 위와같은 애러가 뜨면서 접속이 안됩니다.

 

 

1)리눅스에 ftp를 설치합니다.

 

'yum -y install vsftpd ftp' 명령어를 사용하여 설치를 해줍니다.

마지막으로 'Complete'가 뜨면 설치가 완료된 것 입니다.

 

 

2) 'vsftpd'를 실행하고 상태 체크

 

 

'systemctl start vsftpd' 명령어를 사용하여 'vsftpd'를 실행시키고,

 

'systemctl status vsftpd' 명령어를 사용하여 상태를 체크합니다. 위에보시면 'active'라고 뜨면 잘 실행되고 있는 것을 나타냅니다.

 

 

 

3) ip를 이용하여 ftp 접속

 

 

본인의 ip를 'ftp 192.168.200.128' 이런식으로 명령을 해줍니다.

 

그리고 나서 로그인할 아이디와 패스워드를 입력해주니, 실패앴다고 떳습니다..ㅠ 로그인 할 수 있는 계정을 설정해줘야하기 때문입니다. 윈도우 'cmd'창에서 입력을 하면 '530 Permission denied'라고 애러가 뜨는 경우입니다.

이 두개의 명령어로 로그인 가능한 계정을 설정 해줘야합니다.이 파일 명단에 사용자 아이디가 있으면 접근 불가능한 상태를 의미합니다.

 

이 두개의 명령어의 차이는, 

/etc/vsftpd/ftpusers : 패스워드까지 적을 수 있도록 하되, 패스워드의 일치 불일치를 떠나 거부하는 리스트

 

/etc/vsftpd/user_list : 패스워드도 묻지 않고 거부하는 리스트

 

위에 사진에서 보시는 바 처럼 로그인 가능하게 하고 싶은 아이디를 삭제해 줍니다.

 

이 파일에도 또한 로그인 가능하게 할 아이디를 삭제해 줍니다.

 

 

 

4) 방화벽 설정

 

'firewall-cmd --permanent --add-service=ftp'

 

'firewall-cmd --permanent --add-port=21/tcp'

 

'firewall-cmd --reload'

 

명령어를 입력하여 방화벽 설정을 해주고

 

윈도우 검색창에 '제어판'을 치고

 

 

 

'Windows Defender 방화벽'을 클릭합니다.

 

 

'Windows Defender 방화벽 설정 또는 해제'를 클릭합니다.

 

위에 사진처럼 방화벽 사용 안 함을 클릭합니다.

 

물론, 부분적으로 방화벽을 사용 안 할 수 있는 방법도 고려해볼 수 있지만, 부분적으로 시도해보려하니 계속 접근이 안되고, 문제 해결이 도무지 안되서 든 생각이,

 

ftp 사용할 때만 방화벽을 사용안하고, 정 찝찝하면 ftp사용안할때는 방화벽을 사용으로 돌려놓으면 되겠다는 생각을 했습니다.

 

리눅스는 배워야겠고,, 무슨 수를 써도 되지를 않았는데, 이렇게 하니까 되었어요~

 

 

5) selinux 해제

 

'vi /etc/selinux/config' 명령어를 사용하려 편집기에 들어갑니다.

SELINUX에 보시면 'enforcing -> disabled'로 변경해주시고 저장(:wq)합니다.

 

6) 재시작

 

'systemctl enable vsftpd'

 

'systemctl restart vsftpd'

 

명령어를 사용하여 재시작을 하고,

 

'ps -ax | grep vsftpd'

 

명령어로 서비스를 확인합니다.

 

 

7) cmd창에서 ftp 접속

 

 

 

'윈도우키 + r '을 눌러서 'cmd'를 키신 후에'ftp 본인리눅스 아이피주소'를 입력하고로그인 할 계정의 아이디와 비밀번호를 입력하면 성공한 것을 알 수 있습니다.

 

 

반응형

댓글