WinSCP, стандартный инструмент для безопасной передачи файлов, предлагает не только графический интерфейс пользователя. Функциональность командной строки WinSCP позволяет ИТ-специалистам и системным администраторам управлять и автоматизировать передачу файлов непосредственно из консоли, повышая эффективность и гибкость в их рабочем процессе.
Чтобы узнать все тонкости графического интерфейса WinSCP, ознакомьтесь с соответствующим постом в этом посте, Графический интерфейс WinSCP: Полное руководство.
Откройте для себя все возможности командной строки 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.
Генерация URL-адреса сессии с помощью командной строки WinSCP
В то время как графический интерфейс WinSCP предлагает удобное окно Входа в систему для настройки соединений, командная строка WinSCP требует другого подхода. Вместо интерактивных окон вы должны указать атрибуты соединения более прямым способом.

Для указания командной строке WinSCP, куда подключаться, используется URL-адрес сессии. Этот URL-адрес инкапсулирует атрибуты соединения, определенные в GUI.
A basic session URL follows this structure:
Например, для подключения к хосту 1.1.1.1
с именем пользователя adam
и паролем pw
с использованием SFTP в WinSCP, URL-адрес сессии будет:
Если вы настроили сайт WinSCP, вы легко можете найти URL сессии. Откройте графический интерфейс WinSCP, щелкните на Сеанс, щелкните правой кнопкой мыши на своем сайте и выберите Сгенерировать URL/код сессии.

Диалоговое окно URL сессии предоставляет различные параметры настройки для вашего подключения, каждый из которых влияет на взаимодействие WinSCP с удаленным хостом.
- Начальный каталог – указывает удаленный каталог, который WinSCP открывает при подключении.
- SSH хост-ключ – использует существующий SSH-ключ для аутентификации удаленного хоста.
- URL, специфичный для WinSCP – генерирует уникальный URL сессии, например
WinSCP-sftp://
, специально для понимания WinSCP, избегая конфликтов с настройками по умолчанию веб-браузеров. - Расширение сохранения – часто используется с URL-адресами, специфичными для WinSCP, для дополнительного уменьшения конфликтов приложений.
Когда все параметры включены, формат URL сессии должен иметь следующий вид:

Освоение командной строки WinSCP: генерация кода подключения к сессии
С URL сессии готовым, WinSCP идет еще дальше, предлагая примеры кода во вкладке Сценарий окна Сгенерировать URL/код сессии. Здесь вы можете выбрать из различных типов сценариев:
- Файл сценария
- Пакетный файл
- Скрипт командной строки
- PowerShell
Выберите предпочтительный тип скрипта, и WinSCP сгенерирует необходимый синтаксис для подключения к удаленному хосту с помощью командной строки WinSCP.

Для написания кода на .NET, C# или PowerShell переключитесь на вкладку кода сборки .NET, как показано ниже.

Понимание WinSCP.exe против WinSCP.com в контексте командной строки WinSCP
Знание того, как сгенерировать URL сеанса, критично для использования инструментов командной строки WinSCP. Рассмотрим, как подключиться к хосту с помощью этих инструментов, начиная с понимания различий между winscp.exe и winscp.com.
Winscp.exe служит как запускающая программа GUI и утилита командной строки для простых задач. Вы можете использовать ее для основных команд, если указываете правильные параметры.
Представьте winscp.exe как мост между функциями GUI и интерфейсом командной строки WinSCP.
Для более сложных задач, особенно в скриптах, winscp.com – это ваш выбор. Это консольный инструмент, идеально подходящий для автоматизации сценариев и поддерживающий широкий спектр функций SSH. Он обеспечивает полноценный, неинтерактивный опыт командной строки WinSCP.
Вне зависимости от вашего выбора, начните с открытия командной строки (как cmd.exe, так и PowerShell) и перейдите в каталог установки WinSCP.
Готово к использованию командной строки WinSCP для удаленных подключений.
Используя WinSCP.exe: Подключение к удаленным хостам с помощью URL-адресов сессий
Один из самых простых способов подключения к удаленному хосту с помощью командной строки WinSCP заключается в запуске winscp.exe с URL-адресом сессии в качестве параметра. Например, для подключения к хосту 54.179.19.216
с именем пользователя automate
и паролем automate
с использованием sftp
, а затем перехода в каталог /tmp, используйте следующую команду:
Для повышения безопасности вместо использования пароля вы можете подключиться к удаленному хосту с использованием закрытого ключа с помощью параметра /privatekey
. Хотя этот метод более безопасен, настройка закрытого ключа выходит за рамки данного руководства по командной строке WinSCP.
Вот пример подключения к хосту 54.179.19.216
с использованием имени пользователя automate
и закрытого ключа mykey.ppk
по протоколу scp
.
Эффективная загрузка файлов с помощью WinSCP.exe без использования сайта
Командная строка WinSCP через winscp.exe позволяет вам быстро передавать файлы с помощью спонтанных подключений, даже без предварительно настроенного сайта WinSCP. Рассмотрим загрузку файлов с удаленного хоста без настройки сайта. Например, загрузим все файлы в каталоге /tmp удаленного хоста 54.179.19.216 с использованием протокола SFTP.
1. Начните с генерации URL-сессии. Ниже приведен пример подключения к удаленному хосту с учетными данными automate
и перехода в каталог /tmp.
2. Запустите winscp.exe с URL-сессии для доступа к окну настроек передачи WinSCP. Локальный каталог по умолчанию – ~\Documents, а WinSCP будет обрабатывать все файлы (\\*.*
) в удаленном каталоге.
3. Щелкните “ОК”, чтобы начать передачу. WinSCP загрузит все файлы из удаленного каталога /tmp в выбранный вами локальный каталог по протоколу SFTP.

Загрузка файлов с использованием WinSCP.exe без использования сайта
После освоения загрузки файлов, перейдем к загрузке файлов на удаленный хост с использованием командной строки WinSCP с помощью winscp.exe. Процесс аналогичен загрузке файлов, но на этот раз вам также потребуется использовать ключ /upload
, указав файл или папку, которую вы хотите загрузить.
Выполнение указанной выше команды вызывает диалоговое окно загрузки WinSCP, указывающее файлы, которые будут загружены (*.*
) в каталог /tmp удаленного хоста.

После загрузки войдите на удаленный хост с помощью клиента SSH и проверьте успешность загрузки с помощью команды, такой как pwd
и ls -lh
, которые отобразят содержимое каталога, подтверждая успешную передачу.

Использование WinSCP.exe для загрузки файлов с использованием сайта
В то время как URL-адреса сеансов удобны для временных соединений, предварительно настроенный сайт WinSCP упрощает процесс. Если вы уже длительное время используете WinSCP, у вас, вероятно, уже есть несколько сайтов.
С помощью winscp.exe вы можете легко использовать эти сайты, созданные в графическом интерфейсе, для подключения к удаленному хосту, обходя необходимость запоминать детали URL-адреса сеанса.
Чтобы найти сохраненные сайты в WinSCP, перейдите в меню Сеанс -> Сайты -> Менеджер сайтов.
Например, давайте рассмотрим загрузку файлов с использованием предварительно созданного сайта с помощью командной строки WinSCP.
1. Подключитесь к удаленному хосту, используя настроенный сайт WinSCP. Приведенный ниже пример демонстрирует подключение с использованием сайта с именем Adamsite
.
После подключения WinSCP отображает уведомление о статусе.

2. Затем выполните winscp.exe с протоколом (sftp
), именем сайта (Adamsite
) и целевым каталогом (/tmp
). Этот подход открывает окно настроек передачи WinSCP, готовое для выполнения действий по загрузке файлов.
Нажмите ОК, чтобы начать загрузку всех файлов из каталога /tmp удаленного хоста в ваш локальный каталог через SFTP.

Для загрузки файлов с локальной машины на удаленный хост процесс аналогичен. Используйте параметр
/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
с уровнем Отладка. Команда создает и поддерживает до пяти журналов размером 10 МБ (5*10MB
).
Исследование расширенных возможностей с интерактивными командами WinSCP.com
В то время как winscp.exe предоставляет отличную возможность для удаленных подключений, winscp.com повышает уровень взаимодействия и управления через командную строку.
Начните с открытия winscp.com в командной строке. Вы попадете в интерактивную сессию, напоминающую SSH, что будет указано при появлении приглашения winscp>
.
Подключитесь к удаленному компьютеру с помощью команды open
, за которой следует желаемое имя сайта.
После подключения к удаленному хосту через командную строку WinSCP, как показано на примере Adamsite
, вы окажетесь в среде, похожей на сеанс SSH. Здесь вы можете выполнять команды и взаимодействовать с удаленным хостом эффективно.

Улучшение безопасности: подключение с помощью новой пары ключей (host key) в WinSCP
Аутентификация с использованием открытого ключа повышает безопасность при подключении к сеансам. Чтобы использовать ее, сначала получите отпечаток host key для вашего сеанса. Используйте команду ssh-keygen
в папке WinSCP в соответствии со следующим синтаксисом.
Эта команда генерирует пару ключей SSH, необходимых для безопасной аутентификации. После выполнения вы получите отпечаток, необходимый для подключений к сеансу winscp.com.

Чтобы подключиться с помощью параметра hostkey
, укажите сгенерированный отпечаток, как показано в примере ниже.
Включите префикс
ssh-rsa 2048
при использовании отпечатка отssh-keygen
.
Максимизация эффективности с помощью WinSCP.com: использование параметра /command
Взаимодействие с пользователем очень полезно для определенных задач, но выполнение команд без взаимодействия является критическим для сценариев и автоматизации. winscp.com поддерживает это с помощью параметра /command
, который позволяет установить сеанс, выполнить команду и отключиться в одном шаге.
Например, используйте параметр /command
для передачи локального файла на удаленный хост. В приведенном ниже примере показано копирование файла с C:\abc\abc.txt в каталог /tmp на удаленном хосте 13.213.61.127
.
Параметр /command
принимает два аргумента в виде строк: один для установки сеанса, а другой для выполнения фактической команды.
Автоматизация задач с помощью WinSCP.com: параметр /script
Для более сложных потребностей в автоматизации параметр /script
в winscp.com позволяет выполнять серию команд из сценария. Эта функция бесценна при управлении повторяющимися задачами или сложными операциями на удаленных хостах.
Чтобы использовать параметр /script
в командной строке WinSCP, начните с создания файла сценария с именем upload_file_script.txt на рабочем столе с помощью выбранного текстового редактора.
Подготовьте пустой текстовый файл с именем a.txt в каталоге /tmp на удаленном компьютере.
Создайте локальный каталог в C:\abc.
Затем введите следующее содержимое в файл upload_file_script.txt и сохраните его. Этот скрипт загружает файл a.txt из удаленного каталога /tmp и затем снова загружает его под именем new_file.txt.
Запустите этот скрипт с помощью параметра /script
в WinSCP с следующей командой:
Используйте переключатель
/ini=nul
, чтобы предотвратить сохранение конфигурации сеанса WinSCP при выходе.
Используя WinSCP.com для преобразования ключа
WinSCP поддерживает аутентификацию на основе пароля, сертификата или аутентификацию с использованием открытого ключа. Для использования аутентификации с помощью открытого ключа необходим совместимый формат закрытого ключа. WinSCP помогает преобразовать форматы ключей для обеспечения совместимости.
Например, преобразуйте закрытый ключ в формате PEM (например, ключи от AWS EC2) в формат, совместимый с Putty, используя командную строку WinSCP. Параметр /keygen
в winscp.com облегчает это преобразование.
- Примените параметр
/keygen
, за которым следует текущий путь к ключу. - Укажите параметр
-o
, чтобы указать путь к файлу вывода преобразованного ключа. - При желании используйте параметр
-c
, чтобы добавить комментарий к преобразованному ключу.
Заключение
С помощью этого исчерпывающего руководства по командной строке WinSCP, наряду с руководством по WinSCP GUI, вы теперь оснащены для полного использования возможностей WinSCP. Независимо от того, нужно ли вам выполнять передачу файлов, выполнение команд, запуск сценариев или преобразование ключей, WinSCP – это универсальный инструмент для любого IT-специалиста.
Как вы планируете интегрировать WinSCP в свой рабочий процесс? Поделитесь своими мыслями и опытом!