WinSCP는 안전한 파일 전송을 위한 필수 도구로 알려져 있으며, 그래픽 사용자 인터페이스 이상의 기능을 제공합니다. WinSCP 명령줄 기능을 통해 IT 전문가와 시스템 관리자들은 콘솔에서 파일 전송을 관리하고 자동화할 수 있어 작업의 효율성과 유연성을 향상시킬 수 있습니다.
WinSCP GUI의 모든 기능을 알아보려면 이 게시물과 함께 제공되는 WinSCP GUI: 궁극의 가이드를 확인해보세요.
이 궁극적인 가이드에서 WinSCP가 제공하는 모든 명령줄 기능을 알아보세요. 단계별로 배우면서 WinSCP 명령줄을 활용하여 생산성을 극대화하고 파일 전송 프로세스를 간소화하는 방법을 익힐 수 있습니다.
지금 WinSCP와 함께 명령줄 파일 관리의 세계로 빠져봅시다!
WinSCP 명령줄 사용을 위한 사전 준비 사항
- A Windows XP+ PC – This tutorial will use Windows 10 Enterprise.
- A remote Linux host – This tutorial will use an Ubuntu 18.04.5 LTS machine.
- A user account on the remote SSH host with sudo permissions.
WinSCP 명령줄을 사용하여 세션 URL 생성하기
WinSCP GUI는 연결 설정을 위한 편리한 로그인 창을 제공하지만, WinSCP 명령줄은 다른 방식을 요구합니다. 대화형 창 대신에 연결 속성을 직접적으로 지정해야 합니다.

WinSCP 명령줄에 연결할 위치를 지시하기 위해 세션 URL이 사용됩니다. 이 URL은 GUI에서 정의된 연결 속성을 캡슐화합니다.
A basic session URL follows this structure:
예를 들어, WinSCP에서 SFTP를 사용하여 1.1.1.1
호스트에 adam
사용자 이름과 pw
비밀번호로 연결하려면 세션 URL은 다음과 같습니다:
WinSCP 사이트를 설치한 경우 세션 URL을 쉽게 찾을 수 있습니다. WinSCP GUI를 열고 세션을 클릭한 다음 사이트를 마우스 오른쪽 버튼으로 클릭하고 세션 URL/코드 생성을 선택합니다.

세션 URL 대화 상자에서는 WinSCP가 원격 호스트와 상호 작용하는 방식에 영향을 주는 다양한 사용자 정의 옵션을 제공합니다.
- 초기 디렉토리 – 연결 시 WinSCP가 열 기 위한 원격 디렉토리를 지정합니다.
- SSH 호스트 키 – 원격 호스트 인증에 기존 SSH 키를 사용합니다.
- WinSCP 특정 URL – WinSCP의 이해를 위해 특정하게 생성된 고유한 세션 URL을 생성합니다. 이는 기본 웹 브라우저와의 충돌을 피하기 위한 것입니다.
- 확장자 저장 – WinSCP 특정 URL과 함께 사용하여 응용 프로그램 충돌을 더욱 최소화합니다.
모든 옵션이 활성화된 경우, 세션 URL 형식은 다음과 유사해야 합니다:

WinSCP 명령 줄 마스터링: 세션 연결 코드 생성
세션 URL이 준비되었으면, WinSCP는 세션 URL/코드 생성 창의 스크립트 탭에서 코드 예제를 제공하여 한 단계 더 나아갑니다.
- 스크립트 파일
- 배치 파일
- 명령줄
- PowerShell 스크립트
원하는 스크립트 유형을 선택하고 WinSCP는 WinSCP 명령줄을 사용하여 원격 호스트에 연결하는 데 필요한 구문을 생성합니다.

.NET, C# 또는 PowerShell로 코딩하는 경우 아래에 표시된 것처럼 .NET 어셈블리 코드 탭으로 전환하십시오.

WinSCP.exe vs. WinSCP.com을 WinSCP 명령줄 컨텍스트에서 이해하기
WinSCP 명령줄 도구를 사용하는 데 세션 URL을 생성하는 방법을 알아야 합니다. 이러한 도구를 사용하여 호스트에 연결하는 방법을 알아보겠습니다. 먼저 winscp.exe와 winscp.com의 차이점을 이해하는 것부터 시작합니다.
Winscp.exe는 GUI 런처와 간단한 작업을 위한 명령줄 유틸리티로 사용됩니다. 올바른 매개변수를 지정하면 기본 명령에 사용할 수 있습니다.
winscp.exe를 WinSCP의 GUI 기능과 명령줄 인터페이스 간의 다리로 생각하십시오.
스크립팅을 포함한 보다 복잡한 작업의 경우 winscp.com을 사용하면 됩니다. 이 콘솔 기반 도구는 자동화 스크립트에 이상적이며 다양한 SSH 기능을 지원합니다. 실제로 상호 작용하지 않는 WinSCP 명령줄 환경을 제공합니다.
선택에 관계없이 명령 프롬프트(cmd.exe 또는 PowerShell)를 열고 WinSCP 설치 디렉토리로 이동하여 시작하십시오.
명령 프롬프트가 준비되었다면 WinSCP를 사용하여 원격 연결을 진행해 보겠습니다.
WinSCP.exe를 활용하여 원격 호스트에 세션 URL로 연결하기
WinSCP 명령줄을 사용하여 원격 호스트에 연결하는 가장 간단한 방법 중 하나는 세션 URL을 매개변수로하여 winscp.exe를 실행하는 것입니다. 예를 들어, sftp
를 사용하여 automate
사용자 이름과 automate
비밀번호로 54.179.19.216
호스트에 연결한 다음 /tmp 디렉토리로 이동하려면 다음 명령을 사용하십시오:
보안을 강화하기 위해 비밀번호 대신 /privatekey
매개변수를 사용하여 개인 키로 원격 호스트에 연결할 수 있습니다. 이 방법은 더 안전하지만 개인 키 설정의 복잡성은 이 WinSCP 명령줄 튜토리얼의 범위를 벗어납니다.
다음은 automate
사용자 이름과 mykey.ppk
개인 키를 사용하여 scp
를 통해 54.179.19.216
호스트에 연결하는 예시입니다.
WinSCP.exe를 사용하여 사전 정의된 WinSCP 사이트 없이 효율적으로 파일 다운로드하기
WinSCP 명령줄을 통해 winscp.exe를 사용하여 미리 정의된 WinSCP 사이트 없이도 즉석 연결을 통해 파일을 신속하게 전송할 수 있습니다. 사이트 구성 없이 원격 호스트의 /tmp 디렉토리에 있는 모든 파일을 예를 들어 SFTP를 사용하여 다운로드하는 방법을 살펴보겠습니다.
1. 세션 URL을 생성하여 시작하세요. 아래는 자격 증명이 automate
이고 /tmp 디렉토리로 이동하는 원격 호스트에 연결하는 예제입니다.
2. 세션 URL을 사용하여 WinSCP 전송 설정 대화 상자에 액세스하기 위해 winscp.exe를 실행하세요. 로컬 디렉토리는 기본적으로 ~\Documents이며, WinSCP는 원격 디렉토리의 모든 파일(\\*.*
)을 대상으로합니다.
3. 전송을 시작하려면 확인을 클릭하세요. WinSCP는 SFTP를 통해 원격 /tmp 디렉토리의 모든 파일을 선택한 로컬 디렉토리로 다운로드합니다.

WinSCP.exe를 사용하여 사이트 없이 파일 업로드하기
파일 다운로드를 숙달한 후에는 winscp.exe를 사용하여 원격 호스트로 파일을 업로드하는 방법으로 전환해 보겠습니다. 이번에도 마찬가지로 WinSCP 명령 줄을 사용해야하며, 업로드 할 파일 또는 폴더를 지정하는 /upload
스위치를 사용해야합니다.
위의 명령을 실행하면 WinSCP 업로드 대화 상자가 나타나며, 원격 호스트의 /tmp 디렉토리로 업로드 할 파일(*.*
)을 나타냅니다.

업로드 후에는 SSH 클라이언트로 원격 호스트에 로그인하고 pwd
와 ls -lh
와 같은 명령을 사용하여 업로드가 성공했는지 확인합니다. 이 명령은 디렉토리 내용을 표시하여 전송이 성공했는지 확인합니다.

사이트를 사용하여 파일을 다운로드하기 위해 WinSCP.exe를 활용
세션 URL은 즉석 연결에 유용하지만, 미리 구성된 WinSCP 사이트를 사용하면 프로세스를 간소화할 수 있습니다. WinSCP를 사용해 온 경우 이미 여러 사이트를 설정해 놓았을 것입니다.
winscp.exe를 사용하여 GUI에서 생성한 이러한 사이트를 쉽게 활용할 수 있습니다. 세션 URL 세부 정보를 기억할 필요 없이 원격 호스트에 연결할 수 있습니다.
WinSCP에서 저장된 사이트를 찾으려면 세션 -> 사이트 -> 사이트 관리자로 이동합니다.
예를 들어, WinSCP 명령 줄을 사용하여 미리 설정된 사이트를 사용해 파일을 다운로드하는 방법을 살펴보겠습니다.
1. 구성된 WinSCP 사이트를 사용하여 원격 호스트에 연결합니다. 아래 예시는 Adamsite
라는 이름의 사이트를 사용한 연결을 보여줍니다.
연결되면 WinSCP에서 상태 알림을 표시합니다.

2. 다음으로, winscp.exe를 프로토콜(sftp
), 사이트 이름(Adamsite
), 대상 디렉토리(/tmp
)와 함께 실행합니다. 이 접근 방식은 파일 다운로드 작업을 위해 준비된 WinSCP 전송 설정 대화 상자를 표시합니다.
다운로드를 시작하려면 확인을 클릭하여 SFTP를 통해 원격 호스트의 /tmp 디렉토리에서 모든 파일을 로컬 디렉토리로 가져옵니다.

로컬 컴퓨터에서 원격 호스트로 파일을 업로드하는 경우, 프로세스는 유사합니다.
/upload
스위치를 사용하여 파일 또는 디렉토리 경로를 지정합니다. 예를 들어,winscp.exe Site3 /upload .\license.txt
와 같이 사용합니다. 전체 URL 지정(sftp://Adamsite/tmp
)은 필요하지 않습니다.
WinSCP.exe를 사용하여 원격 파일 편집 스트리밍
원격 호스트에서 텍스트 파일을 편집해야 하는가요? 수동으로 다운로드-편집-업로드 사이클을 건너뛰세요. WinSCP 명령줄은 /edit
매개변수를 사용하여 보다 효율적인 방법을 제공합니다. 사이트 이름, /edit
및 원격 파일 경로를 지정하기만 하면 됩니다.
예시:
위의 명령을 실행하면 기본 텍스트 편집기가 시작되어 필요한 대로 원격 파일을 수정할 수 있습니다. 이 원활한 통합은 WinSCP 명령줄 기능의 주요 특징입니다.

편집 후 파일을 저장하기만 하면 됩니다. WinSCP가 원격 호스트의 파일을 업데이트하는 작업을 처리하여 편집-업로드 프로세스를 간소화합니다.
WinSCP.exe 세션 로깅을 통한 워크플로 최적화
행위의 종합 기록을 위해 WinSCP 명령줄은 세션 로깅을 제공합니다. 이 기능은 세션 동안 실행된 명령을 추적하여 문제 해결 및 기록에 도움이 됩니다.
세션 로깅을 활성화하려면 세션에 연결할 때 최대 세 개의 매개변수를 포함하십시오:
/log
– 로그 파일의 경로를 지정합니다./loglevel
– 로그의 상세도를 설정하며, 줄임 (1
)에서 디버그 (2
)까지 범위가 있습니다./logsize
– 로그 파일의 크기와 회전을<전체 보관된 로그 수>*<최대 로그 파일 크기>
형식으로 정의합니다.
아래는 winscp.exe가 호스트에 연결하고 활동을 C:\winscp.log
에 디버그 수준으로 기록하는 예시입니다. 이 명령은 최대 다섯 개의 10MB 로그 파일(5*10MB
)을 유지합니다.
WinSCP.com 대화식 명령을 사용하여 고급 기능 탐색
winscp.exe은 원격 연결에 대한 훌륭한 소개를 제공하지만, winscp.com은 명령줄 환경에서 더 깊은 상호작용과 제어를 제공합니다.
winscp.com을 명령 줄 환경에서 열어보세요. winscp>
프롬프트가 표시되면 SSH와 유사한 대화식 세션에 진입하게 됩니다.
원하는 사이트 이름 다음에 open
명령을 사용하여 원격 컴퓨터에 연결하세요.
Adamsite
와 같이 WinSCP 명령 줄을 사용하여 원격 호스트에 연결한 후 SSH 세션과 유사한 환경으로 진입하게 됩니다. 여기에서 명령을 실행하고 원격 호스트와 효율적으로 상호 작용할 수 있습니다.

보안 강화: WinSCP에서 새 키 쌍(호스트 키)으로 연결하기
공개 키 인증은 세션 연결 시 보안을 강화합니다. 사용하려면 먼저 세션에 대한 호스트 키 지문을 얻어야 합니다. 아래 구문을 따라 WinSCP 폴더에서 ssh-keygen
명령을 사용하세요.
이 명령을 사용하여 보안 인증에 필요한 SSH 키 쌍을 생성합니다. 실행하면 winscp.com 세션 연결에 필요한 지문을 받게 됩니다.

hostkey
매개변수를 사용하여 아래 예시와 같이 생성된 지문을 제공하세요.
ssh-keygen
에서 얻은 지문을 사용할 때는 접두사ssh-rsa 2048
를 포함시켜야 합니다.
WinSCP.com을 사용하여 효율을 극대화하는 방법: /command
매개변수 사용하기
상호 작용 세션은 특정 작업에 적합하지만, 비상호 작용 명령 실행은 스크립팅과 자동화에 필수적입니다. winscp.com은 /command
매개변수를 통해 이를 지원하여 세션을 설정하고 명령을 실행한 다음 연결을 종료할 수 있게 합니다.
예를 들어, 로컬 파일을 원격 호스트로 전송하기 위해 /command
매개변수를 사용할 수 있습니다. 아래 예제는 C:\abc\abc.txt 파일을 원격 호스트의 /tmp 디렉토리로 복사하는 방법을 보여줍니다. 원격 호스트는 13.213.61.127
입니다.
/command
매개변수는 세션을 설정하기 위한 문자열과 실제 명령 실행을 위한 문자열 두 가지 인수를 가져옵니다.
WinSCP.com으로 작업 자동화: /script
매개변수
더 복잡한 자동화 요구 사항을 위해 winscp.com의 /script
매개변수를 사용하여 스크립트에서 여러 명령을 실행할 수 있습니다. 이 기능은 반복적인 작업이나 원격 호스트에서의 복잡한 작업 관리에 매우 유용합니다.
WinSCP 명령 줄에서 /script
매개변수를 사용하려면, 선호하는 텍스트 편집기를 사용하여 upload_file_script.txt라는 스크립트 파일을 데스크톱에 생성하십시오.
원격 컴퓨터의 /tmp 디렉토리에 a.txt라는 빈 텍스트 파일을 준비하십시오.
C:\abc에 로컬 디렉토리를 생성하십시오.
다음 내용을 upload_file_script.txt에 입력하고 저장하십시오. 이 스크립트는 원격 /tmp 디렉토리에서 a.txt 파일을 다운로드하고 new_file.txt로 다시 업로드합니다.
이 스크립트를 다음 명령어와 함께 WinSCP에서 /script
매개변수를 사용하여 실행하십시오:
/ini=nul
스위치를 사용하여 WinSCP가 종료 시 세션 구성을 저장하지 않도록 설정하십시오.
WinSCP.com을 사용한 키 변환
WinSCP는 비밀번호 및 인증서 기반 또는 공개 키 인증을 지원합니다. 공개 키 인증을 사용하려면 호환되는 개인 키 형식이 필요합니다. WinSCP는 호환성을 위해 키 형식을 변환하는 데 도움을 줍니다.
예를 들어, WinSCP 명령 줄을 사용하여 AWS EC2와 같은 PEM 형식의 개인 키를 Putty에서 사용할 수 있는 형식으로 변환할 수 있습니다. winscp.com에서 /keygen
매개변수를 사용하여 이 변환을 수행할 수 있습니다.
/keygen
매개변수를 적용하고 키의 현재 경로를 입력합니다.- 변환된 키의 출력 파일 경로를 지정하기 위해
-o
매개변수를 포함합니다. - 선택적으로, 변환된 키에 주석을 추가하기 위해
-c
매개변수를 사용할 수 있습니다.
결론
이 포괄적인 WinSCP 명령 줄 가이드와 함께 WinSCP GUI 가이드를 사용하여 WinSCP의 기능을 완전히 활용할 수 있습니다. 파일 전송, 명령 실행, 스크립트 실행 또는 키 변환 등, WinSCP는 모든 IT 전문가에게 유용한 다재다능한 도구입니다.
WinSCP를 업무 흐름에 통합하기 위한 계획은 어떻게 되시나요? 생각과 경험을 공유해주세요!