FTP 환경 만들기

2023-05-07 망내 작성

FTP 환경 구축을 위한 사전설정

FTP(File Transfer Protocol)는 PC와 웹서버 간 파일을 주고받는 기능입니다. Putty나 터미널을 이용해 서버에 파일을 다운로드하고 설치할 수도 있지만, FTP 기능을 활용하면 많은 양의 파일을 일괄적으로 주고받기 용이하고, 우리에게 익숙한 폴더구조로 서버의 구조를 확인할 수 있어요.
FPT 기능을 지원하는 소프트웨어는 다양한데, 여기서는 대표적인 무료 FPT 소프트웨어인 ‘파일질라 (FileZilla)’를 활용해 보려고 합니다.
파일질라를 문제없이 설치했다면, 이제 파일질라에서 우리가 구축한 AtoM 서버에 관리자(root) 권한으로 접근할 수 있도록 몇 가지 설정을 해 주어야 합니다.
먼저 Putty 혹은 터미널을 통해 설치한 AtoM 서버에 관리자(root) 권한으로 접속합니다.
su root
Bash
복사
root 권한으로 접속되었다면, ssh 서버를 재시작하는 명령어를 입력합니다.
sudo service ssh restart
Bash
복사
이후, nano 에디터로 sshd_config 파일을 열어, 변경이 필요한 설정값을 수정합니다.
nano /etc/ssh/sshd_config
Bash
복사
위와 같이 sshd_config 파일에 접근했다면, ctrl + w 누른다음 Authentication 입력해 수정해야 할 내용의 위치를 찾아줍니다.
(중요) AWS 인스턴스에서 제공하는 연결 기능을 사용하는 경우, ctrl+W 키를 입력하면 창이 닫힙니다! 조금 불편하지만 검색기능을 사용하지 말고, 키보드 방향키로 한줄 한줄 내리면서 위치를 찾아야 해요.
위와 같이 주석(#)처리 된 부분을 찾았다면, 아래 내용을 참고하여 동일하게 수정해주세요.
# <수정전> #Authentication #LoginGraceTime 2m #PermitRootLogin prohibit-password #StrictMode yes #MaxAuthTries 6 #MaxSessions 10 # <수정후> #Authentication LoginGraceTime 120 PermitRootLogin yes StrictMode yes #MaxAuthTries 6 #MaxSessions 10
Bash
복사
위의 이미지와 같이 수정을 완료했다면, ctrl+O → 엔터 → ctrl + X 로 저장 후 종료 해주세요.
수정을 완료했다면, 다음 명령어를 실행하여 ssh 접속에 필요한 인증키를 root로 복사해줍니다.
cp /home/ubuntu/.ssh/authorized_keys /root/.ssh
Bash
복사
마지막으로 ssh 서비스를 재시작 해주면 사전 환경설정은 모두 끝이 납니다.
sudo service ssh restart
Bash
복사
이제 파일질라에 접속해 ‘사이트 관리자’를 열어줍니다.
‘New site’를 클릭하여 새로운 사이트 연결설정을 만들고, 위에 표시된 항목을 다음과 같이 설정해줍니다.
프로토콜: SFTP - SSH File Transfer Protocol 로 설정 호스트: AtoM 접속주소 입력 (AWS 인스턴스의 퍼블릭주소) 로그온 유형: 키 파일 선택 사용자: root 입력 키 파일: '찾아보기'를 클릭하여, AWS 인스턴스 생성 당시 만든 키 파일을 연결(아래그림)
Bash
복사
설정을 마친 후 연결을 누르면 아래와 같은 화면이 보여집니다. 리모트 사이트가 root로 되어 있다면 root 권한으로 정상적으로 접근되었다고 보면 되어요.
만약 위의 사전설정을 모두 마쳤는데도 여기서 문제가 발생한다면, AWS의 보안그룹 설정에 문제가 있을 가능성이 있습니다. AWS 인스턴스에 적용된 보안그룹에 접근하여 ‘아웃바운드 규칙’ 내에 ‘모든TCP’에 대한 IPv4, IPv6 접근 허가 규칙을 추가해주면 해결됩니다. 단, 이럴 경우 서버의 보안이 매우 취약해지므로, 장기적으로 사용할 서버라면 다른 방식으로 설정해주는 것이 좋아요.
보안그룹 설정에 대한 자세한 내용은 추후 보완하여 작성하도록 하겠습니다.