Eli의 여백

바쁜 나날들 사이에서 생각났던 이런저런 것들을 적어봅니다.

IT/새로운 시도

안드로이드와 PC 간 안전하게 무선으로 파일 전송하는 방법

Eli♪ 2021. 3. 24. 09:01

 

 

무선 파일전송, 남의 서버를 거쳐야 하나?

학생이나 직장인이라면 여러 모로 컴퓨터와 파일 전송을 할 일이 많다. 사진을 보낸다든지, 음악을 다운받는다든지, pdf나 hwp 문서를 저장한다든지 하는 일로 말이다. 간단하게 파일 몇 개 보내는데 USB연결을 하기 귀찮으니 대부분의 사람들은 카톡같은걸로 대충 보내서 PC카톡으로 열어보는 방법을 쓰는 사람이 많다. 편리하긴 하지만 카톡 서버에 파일이 올라간다는게 영 찝찝한 게 아니다. 그렇다고 이메일로 보내려고 해도 이메일 서버에 파일이 남아있어서 지워주기도 귀찮다.

 

내가 쓸 파일을 내가 보내겠다는데 굳이 다른 사람 서버를 거쳐야 할까? 몇 년 전에 고민을 많이 해서 해결책을 찾았었고 지금까지도 잘 쓰고 있는 방법을 공유해볼까 한다.

 

간단 설명

윈도우 컴에 서버를 열어두고 안드로이드에서 접속하는 방법을 쓴다. 초기세팅만 약간 해 두면 그 이후로 매우 편하게 파일을 왔다갔다할 수 있다.

 

- 암호화 프로토콜인 SFTP (secure file transfer protocol)를 이용해 안전하게 파일 전송

- 윈도우 PC에서 DDNS 설정 (고정아이피가 아닌 경우)

- 윈도우 PC에서 SFTP 서버 프로그램 (Bitvise SSH server) 설치

- 안드로이드 폰에 SFTP 클라이언트 프로그램 설치 (Turbo FTP client)

 

이렇게 해 두면 전 세계 어디서든 내 컴퓨터와 안드로이드 스마트폰 간에 양방향으로 안전하게 파일을 전송할 수 있다. 물론, 둘 다 데이터든 와이파이든 랜선이든 인터넷과 연결이 되어 있어야 한다.

 

장단점

세팅 방법을 정리하기 전에 장단점을 간단하게 요약하면 다음과 같다.

장점:

- 임의의 파일 전송 가능 (다른 앱들에서는 사진이나 음악파일, 연락처만 전송 가능한 경우가 있는데 이건 다 됨)

- 언제, 어디서든 접속 가능 (데이터든 와이파이든 인터넷에 연결만 되어있으면 회선 안가리고 접속 가능)

- 보안성 우수 (외부 서버를 거치지 않고 내 기기간에 직접 통신하며 암호화되어있으므로 남이 기록 못봄)

 

단점:

- 초기 세팅이 약간 귀찮을수도

- 서버용 컴이 켜있어야 파일 전송이 가능

 

전송속도는 보안 없는 FTP에 비해서는 암호화때문에 약간 느려질 수 있긴 한데, 충분히 회선 풀속도 근처까지 다 뽑는다.

 

세팅 방법

1. 윈도우 서버 주소 설정

고정아이피가 아닌 경우(통신사 모뎀이나 공유기 등 사용)

대부분의 경우는 통신사 모뎀이나 iptime, ASUS 등의 공유기를 사용하기 때문에 고정아이피가 아닐 것이다. 이 때 연결된 컴퓨터에서 공유기 설정창에 들어가서 나중에 서버 주소를 쉽게 입력할 수 있도록 몇 가지 설정을 해 줘야 한다.

 

컴퓨터에서 웹브라우저를 켜고 공유기의 내부 아이피 주소를 입력한다. iptime 공유기 기준으로는 아래와 같이 192.168.0.1을 입력하면 된다. 통신사 또는 공유기 제조사별로 공유기 아이피 주소가 다르므로 잘 모르면 인터넷에 검색해 본다.

 

 

 

- DDNS 설정

DDNS (dynamic domain name system) 기능이 있는 공유기라면 설정 창에서 아래와 같이 DDNS 관련 설정을 찾을 수 있을 것이다. DDNS란 xxx.xxx.xxx.xxx처럼 12자리 숫자로 된 아이피 주소가 바뀌기도 하고 기억하기도 어려우니 문자로 바꿔 주는 것이다. iptime의 경우 자체 호스팅을 통해 ip가 바뀌어도 ㅁㅁㅁ.iptime.org 와 같은 주소를 통해 접근할 수 있게 해 준다.

이게 없는 경우 공유기의 12자리 공인아이피를 기억하면 된다. 공유기를 껐다 켜지 않는 한 아이피가 유지되므로 접속에 큰 지장은 없을 것이다.

 

 

 

- 포트포워딩 설정

보통 공유기의 경우 보안을 위해 컴퓨터에서 외부로 나가는 경로가 전부 차단되어 있다. 컴퓨터에서 안드로이드로 파일 전송을 하려면 통신에 사용할 포트 한개를 뚫어 줘야 한다. 원래는 1~65535까지 선택할 수 있는데, 1~10000까지는 윈도우에서 예약된 포트가 많기 때문에 10001~65535 사이의 숫자를 고르는 것을 추천한다.

보통 포트포워드는 아래 사진과 같이 범위로 지정할 수 있는데, 예를 들면 10345 포트를 쓰기로 했다고 하면 외부포트에도 10345~10345, 내부포트에도 10345~10345 이렇게 지정해 주면 한개만 뚫어진다. 여기서 설정한 포트 번호는 나중에도 계속 쓰이니 잘 기억하자.

 

 

 

- 윈도우 방화벽 인바운드 설정

공유기에서도 막혀있지만 사실 윈도우에서도 포트가 하나도 안뚫려있기 때문에 외부에서 접속했을 때 접속을 받을 수 있는 인바운드 설정을 건드려 준다. Win + R 을 눌러 wf.msc를 입력하면 고급 방화벽 설정이 열린다.

 

 

 

인바운드에서 새 규칙을 누르면 설정할 수 있는 창이 뜨는데 다음과 같이 세팅해 준다.

일반 탭

- 이름: 나중에 알아볼 수 있는 이름을 적절히 설정

- 작업: 연결 허용

 

프로토콜 및 포트 탭

- 프로토콜 종류: TCP

- 로컬 포트: 특정 포트 선택 및 아까 위에서 포트포워드때 설정했던 숫자 입력

 

설정이 완료되었다면 인바운드 탭에서 아까 지은 이름으로 되어있는 항목을 확인할 수 있다. 이제 서버 설치를 위한 준비작업이 끝났다.

 

고정아이피인 경우

별도의 절차가 필요 없다. 자신의 ip 주소를 기억하면 된다. 네트워크 어댑터 설정에 들어가서 ipv4 주소를 확인하거나 cmd에서 ipconfig를 치면 ip 주소를 확인할 수 있다.

 

 

아이피 확인이 끝났다면 위의 공유기의 경우와 같이 통신에 사용할 포트 하나를 정하고 인바운드 세팅을 해준다.

 

2. 윈도우에서 Bitvise SSH 서버 설치

Bitvise라는 곳에서 만든 SSH (secure shell) 및 SFTP (secure file transfer protocol) 가 가능한 서버 프로그램이다. 몇 년 동안 써오고 있는데 딱히 보안 이슈는 없는 회사인 것 같아서 추천한다. 개인 사용자용 무료 버전은 1개 서버를 열 수 있는데 어차피 이걸로도 충분하다. 한번 깔아두면 윈도우 시작시 자동으로 실행되니 처음 설정만 잘 해두면 된다.

 

다음의 다운로드 링크를 통해 설치한다. www.bitvise.com/ssh-server-download

 

Bitvise SSH Server Download | Bitvise

Download Bitvise SSH Server   Installs both Personal Edition, free for personal and non-commercial use, or Standard Edition - 30-day evaluation with full functionality. Excellent terminal. Single virtual filesystem for SFTP, SCP, and terminal (when using

www.bitvise.com

설치 중 윈도우를 재시작하거나 인터넷이 잠깐 끊길 수 있다.

 

 

설치가 끝나면 작업표시줄 트레이에 구름에 사각형 두개가 겹친 모양의 아이콘을 발견할 수 있고, 우클릭-restore를 클릭하여 설정 창을 열 수 있다. 설정 창 스크롤을 내리면 open easy settings가 있다.

 

 

 

 

클릭해 보면 아래와 같이 포트번호를 적는 곳이 있다. 아까 포트포워딩할때 설정했던 포트를 적어 준다. 그리고 Open ports to any computer로 바꿔 준다. 그래야 어디서든 접속이 가능하다.

 

 

 

 

다음으로 Virtual account 탭에 가서 가상 계정 하나를 만들어 준다. Bitvise의 경우 기본적으로 윈도우 계정명 + 암호로 로그인할 수 있게 세팅이 되어있는데, 보안상 별로 안좋기 때문에 가상 계정을 만들어주는 것이다. 나중에 접속시 해당 계정 및 암호로 접속할 수 있다. 생성할 때 Virtual filesystem layout의 Allow full access에 체크를 해 주어야 나중에 편하다. 다 만들었으면 윈도우 어카운트 탭에 가서 체크를 풀어준다.

 

 

 

 

여기까지 하면 세팅이 다 끝났다. 이제 안드로이드에 앱 하나만 깔아주면 된다.

 

3. Turbo client 설치 및 세팅

안드로이드 폰에서 구글 플레이스토어에 Turbo client 검색 또는 이 링크를 통해 설치

 

Turbo FTP client & SFTP client - Google Play 앱

Sleek, intuitive, and powerful Android FTP client & SFTP client for faster and easier server maintenance. Built following the latest Android guidelines to make the experience the most intuitive on the Store also on Tablets! Best Features ★ Super cool the

play.google.com

여기도 무료 버전은 1개 연결만 만들 수 있는데, 어차피 서버는 1개만 돌리니 무료버전으로도 충분하다.

 

앱을 켜고 새 계정 만들기를 클릭한 후 SFTP 를 선택한다. 그리고 호스트에 Bitvise 서버를 깔았던 컴퓨터의 아이피 주소 또는 DDNS로 설정한 주소를 입력하고, 포트번호에 포트포워딩했던 번호를 입력한다. 사용자명이나 비밀번호는 입력하면 자동으로 저장되는데 나는 보안을 중시하기 때문에 사용자명만 입력하고 비밀번호는 공란으로 두어 그때그때 입력하도록 해 두었다. 연결 이름은 대충 알아볼 수 있게만 지으면 된다.

 

여기까지 했으면 설정이 끝났다. 이제 폰에서 사진이나 파일 공유할때 공유옵션에 아래와 같이 터보 클라이언트라는 항목을 볼 수 있다.

 

 

 

 

누르면 접속하는 창이 뜨고, Bitvise 서버에서 설정한 계정정보로 로그인을 하면 파일 업로드가 가능하다. 왼쪽 오른쪽으로 슬라이드를 하면 원격(윈도우 서버)와 로컬(안드로이드 폰) 사이를 왔다갔다 할 수 있다. 공유를 원하는 파일을 꾹 누르고 있으면 열려 있는 원격 또는 로컬 폴더에 업로드 또는 다운로드가 가능하다. 작업이 다 끝나고 10분이 지나면 연결이 알아서 끊어진다. 물론 터보 클라이언트를 종료하면 즉시 끊긴다.

 

나의 경우 윈도우 컴퓨터에 파일 전송 전용 폴더를 만들어두어서 로그인 후 아무 생각 없이도 업로드를 할 수 있게 해 놓았다. 전용 폴더 만들어두는걸 추천한다.

 

위에 언급한 방법대로 세팅을 잘 마쳤다면 간단한 파일 전송은 10초 내외로 끝낼 수 있다.

 

참고로 열어둔 서버는 SFTP로만 잘 접속하면 어떤 프로그램을 써도 상관이 없다. 윈도우 - 윈도우 간에도 WinSCP 등을 통해 SFTP 프로토콜로 파일 전송이 가능하다. 입맛대로 세팅해서 마음껏 이용해보자.

 

요약

1. 윈도우 서버 주소 설정 (고정아이피 또는 DDNS + 포트포워드)

2. 윈도우 컴에 Bitvise SSH server 설치

3. 안드로이드 폰에 Turbo client 설치

 

이 세 과정만 해주면 편하고 안전하게 클라우드나 여타 서버를 안거치고 암호화된 파일 전송을 쉽게 할 수 있다. 끝.