Atom Remote-FTP를 이용해 FTP 서버에 연결하기
파일 전송 프로토콜(File Transfer Protocol, FTP)은 TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜이다. 파일 전송 프로토콜은 TCP/IP 프로토콜 테이블의 응용 계층에 속하며, 역사는 오래 되었지만 지금도 인터넷에서 자주 사용된다.
HTTP와는 달리 연결의 종류는 2가지가 있다:
- 명령 연결: 먼저 제어 포트인 서버 21번 포트로 사용자 인증, 명령을 위한 연결이 만들어지고, 여기를 통해 클라이언트에서 지시하는 명령어가 전달된다.
- 데이터 전송용 연결: 실제의 파일 전송은 필요할 때 새로운 연결이 만들어진다.
- 능동 모드(포토 모드): 서버가 자신의 데이터 포트인 20번 포트에서부터 클라이언트가 지정한 지점으로의 데이터 연결을 만든다. 클라이언트가 지정하는 포트는 주로 1023 보다 큰 번호가 매겨진 포트이다. 클라이언트가 방화벽, NAT(IP 마스킹) 등을 사용하는 환경일 때에 잘 동작하지 않을 수 있는데, 이때 수동 모드를 이용하면 된다.
- 수동 모드: 클라이언트가 서버가 지정한 서버 포트로 연결할 수 있게 한다. 이 때에는 보통 양쪽 포트 모두 1023 보다 큰 포트를 사용한다.
어느 모드에서도 2개의 연결을 만드는 점은 다르지 않다. 하지만 FTP 포트를 변경하게 되고 방화벽이 있는 경우, 방화벽 Inspection 모드 설정에 따라 FTP 통신은 정상적이지만, get 명령이나 ls 명령 등 FTP-DATA포트를 이용한 통신은 정상적으로 이루어지지 않을 수 있다.
자세한 내용은 wiki 페이지 참조 : https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC_%EC%A0%84%EC%86%A1_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
1. 아톰(Atom) 설치 후 File→Settings(Ctrl+Comma)→Install에 들어가서 remote-Ftp를 검색한다.
<제일 위에 나오는 패키지를 설치한다.(Install 클릭)>
2. Packages→Remote-FTP→Toggle을 누르면 4개의 버튼이 나오는데 그 중에서 Edit Configuration을 누르고 다음의 내용을 복사해서 파란색 부분을 알맞게 고치고 .ftpconfig 라는 이름으로 파일을 저장한다.
{
"protocol": "ftp",
"host": "****.com", // FTP 서버 이름이나 IP주소 입력, Defult : 'localhost'
"port": 21, // FTP 포트 주소. Default: 21
"user": "*****", // 사용자 이름 Default: 'anonymous'
"pass": "********", // 비밀번호 Default: 'anonymous@'
"promptForPass": false,
"remote": "/경로 이름/", // 접근할 경로
"secure": false,
"secureOptions": null,
"connTimeout": 10000,
"pasvTimeout": 10000,
"keepalive": 10000,
"watch":[
"./dist/stylesheets/main.css",
"./dist/stylesheets/",
"./dist/stylesheets/*.css"
],
"watchTimeout":500
}
위에 올린 소스코드는 다음과 같이 구할 수 있다.
1번의 화면에서 패키지 설치가 완료되면 화면이 아래와 같이 변하는데 Settings 버튼을 누르면 패키지 사용 방법이 나온다.
그 중에서 Configuration in project`s .ftpcon file이라는 부분이 있는데 SFTP와 FTP&FTPS의 경우를 나눠서 소스코드가 나와 있다. SFTP의 경우에는 위의 소스코드 대신 이 과정을 통해 SFTP 소스코드를 가져오면 된다.
3. Packages→Remote-FTP→Toggle→Connect를 눌렀을 때 다음과 같은 화면이 뜨면 연결이 완료된 것이다.