저는 딥러닝 연구자로써, 코딩환경은 보통 jupyter notebook을 이용하고 있습니다. 이와 관련된 포스트는 아래 글을 참고해주세요.

과외활동으로 Django개발도 하고 있지만, 개인적인 생각으로 연구용 코딩정도의 규모에서는 pycharm같은 무거운 IDE보다는 보다 가볍고 직관적인 jupyter notebook 혹은 jupyterlab이 알맞다고 생각하기 때문입니다.
하지만 단 한가지 단점이 있으니, 파일관리가 매우 번거롭다는 점입니다.
예를 들어 코드를 첨부해서 웹상에 업로드 해야 할 일이 있을때 터미널에서 ssh로 접속해서 터미널상에서 다운로드 받아야 하죠.
이 과정은 꽤 번잡스럽습니다.
그래서 오늘은 ubuntu server에 ftp를 설치하고, 맥북에서는 마치 usb쓰듯이 finder상에서 자유롭게 사용하도록 만들었습니다.

간단하니, 한줄한줄 따라시면 됩니다.
그럼 시작해보겠습니다!

우분투에 ftp 세팅하기

우분투 서버에 접속하기

먼저, ubuntu 데스크탑에 ssh세팅을 해놓았고 맥북에서만 모든걸 처리한다고 가정하겠습니다. (세팅이 안되어있다면 우분투 터미널에서 실행시키시면 됩니다.)

ssh 000.000.000.000 #나의 ubuntu 서버에 접속

Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-25-generic x86_64)
...

vsftpd 설치하기

sudo apt-get update
sudo apt-get install vsftpd

#ubuntu가 재시작될때 ftp실행하도록 설정
sudo systemctl stop vsftpd.service
sudo systemctl start vsftpd.service
sudo systemctl enable vsftpd.service

(선택) ftp 전용 계정 만들기

sudo adduser ftpuser
sudo passwd ftpuser #password 설정

이제 ftp에 접속할 ftpuser 계정을 만들었습니다. 기존의 root계정을 사용하셔도 됩니다.

vsftpd 설정하기

여러가지 옵션을 설정하기 위해 설정파일을 만지겠습니다.

#원본파일 백업부터
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

#파일 열기
sudo vim /etc/vsftpd.conf

이 부분은 흉내쟁이 님의 글을 참고했습니다. [Ubuntu] 우분투 vsftpd 설치 by 흉내쟁이

vsftpd.conf

# anonymous 유저 사용 불가
anonymous_enable=NO

# 계정사용자 접속 가능
local_enable=YES

# 업로드 가능
write_enable=YES

# 디렉토리나 파일 생성시 umask 값
local_umask=022

# 접속시 메세지
ftpd_banner=Welcome to uzuro FTP service

# 접속시 출력 메세지 설정 ( shell등을 이용해 접속시 )
# 사용자 홈디렉토리에 .message 파일에 작성
dirmessage_enable=YES

# chroot 적용
# 아래와 같은 설정을 할 경우 사용자들은 자신의 계정에서 상위 디렉토리로 이동할수 없게된다.
chroot_local_user=YES

# 특정 사용자만을 Jail 설정할 경우
# chroot_list에 등록되어있는 계정에만 chroot가 적용
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

# 특정 사용자를 제외한 나머지 사용자만을 Jail 설정할 경우
# chroot_list에 등록된 계정을 제외한 나머지가 자신의 계정에 chroot가 걸림
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

# 계정마다 동적으로 설정할 경우
# 아래와 같이 설정을 하게 되면 /etc/passwd 파일을 참고하여 jail 설정을 할 수 있게 됨
# /etc/passwd 파일을 수정하여 경로에 .을 찍게 되면 그 지점이 chroot지점이 됨
# theeye:x:600:100::/home/./theeye:/bin/bash
chroot_local_user=YES
passwd_chroot_enable=YES

userlist 만들기

ftp접속을 허용할 user list를 만듭니다.

sudo vim /etc/vsftpd.userlist

vsftpd.userlist

ftpuser

(선택) user의 기본 디렉토리 변경

# 사용할 디렉토리 생성
sudo mkdir /home/ftp

# ftpuser 유저의 홈디렉토리를 변경
sudo usermod -d /home/ftp ftpuser

vsftpd 재시작

sudo systemctl restart vsftpd

맥에서 접속하기

맥에서 접속하는 방법은 간단합니다.
파인더에서 cmd+k를 눌러 ‘서버에 연결’ 대화상자를 엽니다.

190730-mac-ftp

그리고 이곳에 아래와 같이 서버 주소를 입력합니다.

ftp://000.000.000.000

그리고 연결 버튼을 누르면, id/pw를 입력 후 다음과 같이 접속에 성공합니다.

190730-mac-ftp2

연결 성공!

이제 usb 쓰듯이 자유롭게 서버에 드나들 수 있습니다.

이렇게 한땀 더 편해진 삶이 되었네요!

그런데….

사실 이렇게 접속하면 안되는게 많습니다. 읽기전용이라든지…

그냥 맘편하게 앱 사서 쓰세요…

저도 transmit 사용하고 있습니다 ^^;

Comments

Eungbean Lee's Picture

About Eungbean Lee

Lee is a Student, Programmer, Engineer, Designer and a DJ

Seoul, South Korea https://eungbean.github.io