본문 바로가기
리빙포인트

[라즈베리파이] SFTP로 외부에서 접속하기

by amAToRoi 2022. 2. 5.
반응형
퍼블릭 클라우드가 없을 때에는
라즈베리파이로 SSH server를 돌리면 좋다.

라즈베리파이를 설치하고 홈 서버로 두다보니 외부에서 수시로 접근할 일이 생겼다.
후배에게 공유해줄 홈서버 내부 파일이 문득 생각나서 다운 받으려다 보니 내 PC가 아니어서 뭔가 더 설치하기는 미안한데다, 작은 컴퓨터에 부하를 줄이려고 CLI로 운영하다 보니 GUI 환경에서 쉽게 생각하던 파일전송 방법을 잊어버려 다시 써먹을 시간을 대비해서 기록해두려 한다.

나를 포함하여 다들 그렇겠지만, 보안을 위해 SSH 이외에 많은 채널/Port를 열어두고 싶은 사람은 없지 싶다.
다행히 SSH를 닫아둘 일은 없을테니

SSH와 보안 채널을 공유하는 SFTP(SSH / Secure File Transfer Protocol)를 활용하자.

SSH 실행

ssh를 실행해 두어야만, sftp를 사용할 수 있다.

CLI(command-line interface)로 설정하는 방법과 GUI(graphic user interface)로 설정하는 방법이 있는데, 라즈베리파이에서는 기본적으로 설정을 통한 GUI 방식을 제공한다.
이는, service가 등록되어 있는 것으로도 이해된다.

[옵션 1. GUI 방식] Pi아이콘(화면 최좌측 상단) → 기본설정 Raspberry Pi Configuration 메뉴에서 Interfaces 탭을 눌러 SSH에 Enable을 선택해서 사용하자.

 

[옵션 2. CLI 방식] service 명령어로 실행 (아래 코드블록 참고)

$ sudo service ssh start

start 대신 status로 상태를 확인하거나, stop으로 종료... restart로 재시작할 수 있다.

리눅스 명령어는 service라던가, systemctl이라던가, 직접 접근하는 /etc/inint.d/[서비스명]과 같은 옵션이 있는데, service 만 기억해서 사용해도 무관하다.

Mac과 Linux에서는 Terminal을, Windows에서는 명령 프롬프트(CMD)PowerShell을 사용하자. 아울러, Port number는 바꿔서 사용할 테니 -P 옵션은 꼭 활용하자. 윈도우에서는 확실히 대문자다. 진짜다. 내가 이거 때문에 고생했다.

라즈베리파이의 sftp에 접속하기 위해서는 다양한 방법이 있지만, 굳이 터미널 방식을 기술한 이유는, 내 컴퓨터가 아닌 곳에서 접근할 때를 위해서이다. 자신의 PC에서 접속하는 방법 중 제가 제일 선호하는 툴은 Bitvise SSH Client 이다.

/* 접속하기 */
$ sftp [옵션: -P [port번호]] [[옵션: ID@]도메인]
$ sftp -P 22 amatoroi@Domain.com

기억해야할 명령어 리스트

참고로, Remote는 서버, Local은 내 컴퓨터를 의미한다.
(가끔 헷갈리더라. 애정이 넘쳐서 그런지 내 머릿속의 기준이 계속 라즈베리파이로 넘어가서...)
이 이외에도 다양한 명령이 가능한 SFTP 이지만, 나머지는 SSH에서 작업하자.

파일 전송 (Local > Remote)

put [파일] [옵션: 전송위치]
mput [파일들] [옵션: 전송위치]

파일 전송 (Remote > Local)

get [파일] [옵션: 전송위치]
mget [파일들] [옵션: 전송위치]

위치 확인

pwd /* Remote machine의 위치확인 */
lpwd /* Local machine의 위치확인 */

경로 변경

cd /* Remote machine의 경로변경 */
lcd /* Local machine의 경로변경 */
반응형

댓글