SSH로 파일 전송을 할 수 있는 WinSCP 소개 및 사용법

리눅스나 임베디드 리눅스 기반의 장치나 장비를 사용하다 보면 기본적으로 사용하는 Windows 기반의 PC와 리눅스, 임베디드 리눅스 장치 간에 파일 전송에 난감함을 느끼게 됩니다. 만약에 Windows 기반의 PC에서 가상머신인 Virtual Box 로 리눅스를 설치하여 사용한다면 파일 공유 기능을 사용하면 되지만 별도의 리눅스 PC나 리눅스 기반의 장치와 Windows PC 간에는 파일 전송이 약간 불편합니다. 

이때 FTP를 통해서 파일 전송을 해도 되지만 FTP는 반드시 한쪽이 서버, 다른 한쪽이 클라이언트로 서로 연결이 되어 있어야 합니다. 파일 전송시에 깜빡하고 FTP 서버 실행을 하지 않았다면 파일 전송이 되질 않는데 재차 FTP 서버를 실행해야 파일이 전송됩니다. 

특히 리눅스 기반의 서버에서 작업을 한 후에 Windows 기반의 PC로 파일을 전송할 일이 빈번한데요, 이때 간편하게 파일을 전송할 수 있는 방법이 없을까요? 크게 2가지가 있습니다. 

가장 편리한 방법은 리눅스 서버에 삼바(Samba)를 구축해서 Windows PC쪽에서 리눅스 PC의 하드 디스크가 네트워크 드라이브 장치처럼 서로 연결하여 사용하는 방법입니다. 삼바로 구축을 하면 서로간에 파일전송이 매우 편리하기 때문에 주로 추천을 하는 방법입니다. 삼바 구축에 관한 내용은 다른 포스트에서 기술하도록 하겠습니다. 

두번째 방법은 리눅스 서버나 장치에 접근할때 사용하는 프로토콜인 “SSH”를 이용하여 파일 전송을 하는 방법입니다. 리눅스 서버나 장비에 접근할때  SSH로 터미널에 접속하여 주로 많이 사용을 하는데요, SSH로 터미널 접속 뿐만 아니라 파일을 서로 주고 받는게 가능합니다. 

그래서 이번 포스트에서는 Windows PC 와 리눅스 서버 간에 파일 전송시 많이 사용하는 오픈 소스 유틸리티인 “WinSCP” 에 대하여 소개 및 사용법에 대하여 설명을 해보겠습니다. 

WinSCP 는?

WinSCP는 Windows 기반의 환경에서 SFTP, FTP, SSH 등의 프로토콜로 파일을 전송하는 클라이언트 프로그램입니다. 

WinSCP는 누구나 자유로이 다운로드 하여 사용할 수 있는 프리웨어입니다. 또한 오픈소스 기반이므로 WinSCP의 소스 또한 누구나 다운로드 받아서 활용이 가능합니다. Windows 기반의 프로그램이기 떄문에 위의 그림처럼 그래픽 유저 인터페이스( GUI) 환경에서 동작하며 서버에 접속하여 파일을 주고 받는게 매우 편리합니다. 

WinSCP는 아마존 AWS S3 서버의 클라이언트 기능도 지원합니다. 만약 유저가 S3 서버의 계정을 보유하고 있다면 S3 서버로 파일 전송 및 수신이 가능합니다. 

WinSCP를 여기서 소개해 드리는 가장 큰 이유 중에 하나는 리눅스 PC나 서버에 SSH 로 접속하여 파일을 주고 받을 수 있다는 점입니다. 리눅스 기반의 시스템끼리는 “scp” 명령어를 사용하여 파일을 주고 받을 수 있지만 Windows와 리눅스 시스템간에 파일 전송은 다소 불편한 부분이 있는데요, 이때 WinSCP를 SSH로 접속하여 사용하면 리눅스 기반의 시스템과 매우 편리하게 파일 전송이 가능해집니다. 

따라서 WinSCP는 삼바가 설정되지 않거나 때때로 리눅스 기반의 시스템에서 간편하게 파일 전송이 필요할때 매우 유용하다고 볼 수 있습니다. 

WinSCP 다운로드 및 설치 

WinSCP를 다운로드 할려면 아래 링크로 접속하여 다운로드 하시면 됩니다. 

WinSCP 는 Windows 기반의 프로그램입니다. 따라서 리눅스나 MAC OS 같은 환경에서는 사용이 불가합니다. 

설치는 위의 WinSCP 공식 사이트 링크에서 다운로드 받은 후에 WinSCP 셋업 파일을 실행시키면 자신의 PC 에 설치가 진행됩니다. 설치는 쉬우니까 넘어가도록 하겠습니다. 

현재 최신 버전은 5.17 이네요. 

WinSCP 간단한 사용 방법

WinSCP의 사용방법은 생각보다 매우(?) 간단합니다. 먼저 WinSCP를 실행시킵니다. 

WinSCP를 실행했을때의 모습입니다. 처음에는 어떤 서버의 계정을 접근할건지 선택을 하거나 새 계정을 만들 수 있습니다. 처음 설치를 하면 “새 사이트”를 선택해서 계정을 등록하면 됩니다. 

그럼 “새 사이트”를 등록해 볼까요?

로그인 화면에서 “새 사이트”를 클릭하면 계정 정보에 대한 입력 칸이 나타납니다. 여기서 파일 프로토콜, 호스트 이름, 포트번호, 사용자 이름, 비밀번호 등을 입력하면 됩니다. 

파일 프로토콜은 “SCP”를 선택하면 됩니다. SSH로 접속하여 파일을 다운로드 할려면 SCP를 선택하고 그 외에 SFTP, FTP,  WebDAV, Amazon S3 등에 접속할려면 관련 프로토콜을 선택하면 됩니다. 포트번호는 SSH 표준으로는 22번을 사용합니다. 제가 사용하면 리눅스 PC는 1001번을 사용하기 때문에 1001번을 입력하였습니다. 

사용자 이름은 리눅스 PC나 서버의 계정 이름이고 비밀번호는 계정의 패스워드 입니다. 입력이 다 끝났으면 “저장” 버튼을 눌러서 계정 정보를 저장합니다. ( 저장해야 추후에 다시 간편하게 접속이 가능합니다. )

“저장” 버튼을 누르면 세션 이름을 넣어줍니다. 저는 “코드도사” 라고 설정하였습니다. 폴더는 서버 종류에 따라 자유롭게 설정하면 됩니다. 암호 저장은 세션 정보 저장시 계정의 패스워드 정보까지 같이 저장이 되는 기능입니다. 본인만 사용하는 PC면 상관없으나 공용으로 사용하는 PC라면 “암호 저장” 옵션은 체크 안하는게 좋습니다. 

“바탕 화면에 바로가기 만들기”에 체크하면 이후에 Windows 바탕화면에 바로가기 링크 아이콘이 생성이 되게 됩니다. 이후에는 링크 아이콘만 클릭하면 WinSCP를 자동으로 실행시켜서 계정으로 접속까지 해줍니다. 

저장이 완료되었으면 WinSCP의 로그인 창에 좀전에 저장했던 세션이 리스트에 표시가 됩니다. 이후에는 “코드도사”라는 세션 리스트를 클릭하면 SSH로 바로 접속이 됩니다. 그럼 이제 “로그인” 버튼을 눌러볼까요?

로그인 버튼을 누르면 좀전에 등록했던 세션정보로 접속이 이루어집니다. 만약에 WinSCP로 처음 접속을 했다면 위와 같이 호스트키 관련 정보 안내 메시지가 뜹니다. SSH 자체가 보안 프로토콜이기 때문에 인증 키를 등록해 줘야 하는데 이때 “업데이트” 버튼을 누르면 됩니다. 이후에는 위의 창의 메시지는 뜨지 않습니다. 

접속이 되면 비밀번호를 누르라는 메시지가 뜹니다. 여기서 접속하려는 서버나 리눅스 PC의 패스워드를 입력해주면 됩니다. 

WinSCP로 제 리눅스 PC에 접속이 된 모습입니다. WinSCP가 마치 토털 커맨더 창 같아 보이죠? 왼쪽 창은 내 PC이고 오른쪽 창은 접속한 리눅스 PC나 서버의 디렉토리 입니다. 

리눅스 서버 쪽에서 파일 다운로드를 하고 싶으면 파일을 선택 후에 오른쪽 마우스 버튼을 누르고 “다운로드”를 클릭하면 됩니다. 혹은 단축키로 F5 키를 눌러도 다운로드가 진행됩니다. 

파일 다운로드가 진행되면 위와 같이 다운로드 관련 창이 뜨면서 진행사항을 알려줍니다. 마치 Windows 에서 탐색기를 사용하는 것과 같습니다. 만약에 서버쪽으로 파일을 업로드 하고 싶다면 왼쪽 창으로 이동하여 파일 선택 후 “업로드” 버튼을 누르면 파일 업로드가 이루집니다. 

WinSCP를 이용하면 Windows PC와 리눅스 서버 간에 파일 전송을 간편하게 할 수 있습니다. 앞으로 WinSCP를 통해 파일 전송을 편리하게 하시기 바랍니다. 

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.