몇 주 전 Damien이 SSH를 활용해 인터넷 연결을 안전하게 보호하는 훌륭한 튜토리얼을 선보였습니다. 그는 SSH가 무엇인지 설명하고, 인터넷 트래픽 보호를 위해 실제로 사용하는 SSH 터널링 방식까지 자세히 소개했습니다.
이번 글에서는 같은 SSH 기술을 응용해 원격 서버의 데이터를 백업하는 또 다른 튜토리얼을 단계별로 살펴보겠습니다.
참고로 저는 Dreamhost의 리눅스 서버에서 호스팅되는 Geeky Ninja라는 웹사이트도 운영하고 있습니다.
Dreamhost에서 사이트 백업을 제공해 주긴 하지만, 웹마스터로서 백업에는 아무리 신중해도 지나치지 않다고 생각합니다. 데이터를 잃어버릴지도 모른다는 불안감이 늘 따라다니기 때문에, 가끔씩 사이트를 별도의 원격 위치에 추가로 백업해 두곤 하는데요. 바로 이때 SSH가 큰 힘이 발휘됩니다.
SCP: SSH 기반 보안 파일 전송 도구
잘 알려져 있듯이 SSH는 두 대의 컴퓨터가 서로 안전하게 통신할 수 있도록 해주는 암호화 프로토콜입니다. SSH는 telnet처럼 텍스트 기반이 아니기 때문에 실제 바이너리 파일도 전송할 수 있으며, 유닉스/리눅스 계열 시스템에서는 SCP(Secure Copy)라는 유틸리티가 이 역할을 담당합니다. SCP는 전달받은 파일을 SSH 프로토콜로 암호화한 뒤, 사용자가 지정한 원격 목적지로 복사해 줍니다.
시작하기
먼저, 데이터를 가져올 원격 시스템에 SSH가 설치되어 실행 중인지 확인해야 합니다. 제 경우에는 Dreamhost에 호스팅된 원격 웹서버가 여기에 해당합니다.
원격 시스템에 로그인한 후 "pwd" 명령어를 입력해 현재 작업 디렉터리를 확인합니다.

pwd가 출력한 경로를 메모해 두세요. 이제 로컬 시스템에서 아래의 scp 명령어를 실행합니다.

명령어에서 다음 항목들을 자신의 환경에 맞게 바꿔 주세요.
username → 원격 시스템에서의 실제 사용자 계정명
Remote_IP → 원격 시스템의 IP 주소 또는 도메인 이름
Remote_directory → 앞서 pwd 명령으로 확인한 경로
backup_directory → 로컬 시스템에서 백업 파일을 저장할 디렉터리 이름
이것으로 끝입니다. 이 명령 하나만으로 remote_directory 아래의 모든 파일과 폴더가 로컬 시스템의 backup_directory로 안전하게 복사됩니다.
윈도우에서 백업하기
위 방법은 유닉스/리눅스 기반 시스템에서 문제없이 작동합니다. 그렇다면 데스크톱으로 윈도우를 사용하면서 원격 서버의 데이터를 내 PC로 백업하고 싶다면 어떻게 해야 할까요?
이럴 때는 윈도우용 그래픽 SCP 클라이언트인 WinSCP를 사용하면 됩니다.

WinSCP는 익숙한 윈도우 탐색기 스타일의 인터페이스를 제공하며 드래그 앤 드롭도 완벽하게 지원합니다. 오른쪽 창에서 백업할 디렉터리를 찾아 왼쪽 창으로 끌어다 놓기만 하면 끝입니다. 이제 보안이 취약한 텍스트 기반 FTP 세션과는 깔끔하게 작별하세요.
여러분은 원격 서버를 어떤 방식으로 백업하고 계신가요? 댓글로 의견을 공유해 주세요!
이미지 출처: Carbonnyc