O WinSCP, uma ferramenta indispensável para transferências seguras de arquivos, oferece mais do que apenas uma interface gráfica. A funcionalidade da linha de comando do WinSCP permite que profissionais de TI e administradores de sistemas gerenciem e automatizem as transferências de arquivos diretamente do console, aumentando a eficiência e flexibilidade em seus fluxos de trabalho.
Para aprender todos os detalhes da interface gráfica do WinSCP, confira o complemento deste artigo, O Guia Definitivo da Interface Gráfica do WinSCP.
Descubra todas as funcionalidades da linha de comando do WinSCP neste Guia Definitivo. Você aprenderá, passo a passo, como aproveitar ao máximo a linha de comando do WinSCP para aumentar sua produtividade e otimizar seus processos de transferência de arquivos.
Vamos mergulhar no mundo da gestão de arquivos por linha de comando com o WinSCP!
Pré-requisitos para usar a linha de comando do 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.
Gerando uma URL de sessão com a linha de comando do WinSCP
Enquanto a interface gráfica do WinSCP oferece uma janela de login conveniente para configurar conexões, a linha de comando do WinSCP requer uma abordagem diferente. Em vez de janelas interativas, você deve especificar os atributos de conexão de maneira mais direta.

Para instruir a linha de comando do WinSCP sobre onde se conectar, uma URL de sessão é utilizada. Essa URL encapsula os atributos de conexão definidos na interface gráfica.
A basic session URL follows this structure:
Por exemplo, para se conectar ao host 1.1.1.1
com nome de usuário adam
e senha pw
usando SFTP no WinSCP, a URL de sessão seria:
Se você configurou um site WinSCP, pode facilmente encontrar a URL da sessão. Abra o GUI do WinSCP, clique em Sessão, clique com o botão direito no seu site e selecione Gerar URL/Código da Sessão.

A caixa de diálogo URL da sessão fornece várias opções de personalização para sua conexão, cada uma influenciando como o WinSCP interage com o host remoto.
- Diretório inicial – Especifica o diretório remoto que o WinSCP abre ao se conectar.
- Chave do host SSH – Usa uma chave SSH existente para autenticação do host remoto.
- URL específica do WinSCP – Gera uma URL de sessão única, como
WinSCP-sftp://
, especificamente para o entendimento do WinSCP, evitando conflitos com navegadores da web padrão. - Extensão de salvamento – Frequentemente combinada com URLs específicas do WinSCP para minimizar ainda mais conflitos de aplicativos.
Quando todas as opções estão habilitadas, o formato da URL da sessão deve se assemelhar ao seguinte:

Dominando a Linha de Comando do WinSCP: Gerando Código de Conexão da Sessão
Com sua URL da sessão pronta, o WinSCP vai além, oferecendo exemplos de código na guia Gerar URL/Código da Sessão da janela Script. Aqui, você pode selecionar diferentes tipos de script:
- Arquivo de script
- Arquivo em lote
- linha de comando
- script do PowerShell
Escolha o tipo de script preferido, e o WinSCP gerará a sintaxe necessária para se conectar a um host remoto usando a linha de comando do WinSCP.

Para codificar em .NET, C# ou PowerShell, mude para a guia de código da assembleia .NET, conforme mostrado abaixo.

Compreendendo WinSCP.exe vs. WinSCP.com no Contexto da Linha de Comando do WinSCP
Saber como gerar uma URL de sessão é crucial para usar as ferramentas de linha de comando do WinSCP. Vamos explorar como conectar a um host usando essas ferramentas, começando por entender as diferenças entre winscp.exe e winscp.com.
Winscp.exe funciona tanto como o iniciador da GUI quanto como uma utilidade de linha de comando para tarefas simples. Você pode usá-lo para comandos básicos se especificar os parâmetros corretos.
Pense no winscp.exe como uma ponte entre os recursos da GUI e a interface de linha de comando do WinSCP.
Para tarefas mais complexas, especialmente em scripts, winscp.com é a escolha certa. Esta ferramenta baseada em console é ideal para scripts de automação e suporta uma variedade de funções SSH. Ela oferece uma experiência verdadeira e não interativa de linha de comando do WinSCP.
Independentemente da sua escolha, comece abrindo um prompt de comando (seja cmd.exe ou PowerShell) e navegue até o diretório de instalação do WinSCP.
Com o prompt de comando pronto, vamos prosseguir para usar o WinSCP para conexões remotas.
Utilizando o WinSCP.exe: Conectando-se a hosts remotos com URLs de sessão
Um dos métodos mais simples para se conectar a um host remoto com a linha de comando do WinSCP é executando o winscp.exe com a URL da sessão como parâmetro. Por exemplo, para se conectar ao host 54.179.19.216
com o nome de usuário automate
e senha automate
usando sftp
, e então navegar até o diretório /tmp, utilize o seguinte comando:
Para uma segurança aprimorada, ao invés de usar uma senha, você pode se conectar a um host remoto usando uma chave privada com o parâmetro /privatekey
. Embora esse método seja mais seguro, os detalhes de configuração de uma chave privada estão além do escopo deste tutorial sobre a linha de comando do WinSCP.
Aqui está um exemplo de conexão ao host 54.179.19.216
usando o nome de usuário automate
e uma chave privada mykey.ppk
através do scp
.
Transferindo arquivos eficientemente com o WinSCP.exe sem um site
A linha de comando do WinSCP através do winscp.exe permite que você transfira arquivos rapidamente usando conexões ad-hoc, mesmo sem uma configuração pré-definida de site. Vamos explorar o download de arquivos de um host remoto sem uma configuração de site. Por exemplo, baixando todos os arquivos no diretório /tmp do host remoto 54.179.19.216 usando o SFTP.
1. Comece gerando uma URL de sessão. Abaixo está um exemplo de conexão ao host remoto com as credenciais automate
e aterrissando no diretório /tmp.
2. Execute winscp.exe com a URL de sessão para acessar a caixa de diálogo de configurações de transferência do WinSCP. O diretório local padrão é ~\Documentos, e o WinSCP irá direcionar todos os arquivos (\\*.*
) no diretório remoto.
3. Clique em OK para iniciar a transferência. O WinSCP irá baixar todos os arquivos do diretório remoto /tmp para o diretório local escolhido via SFTP.

Upload de Arquivos Usando o WinSCP.exe Sem um Site
Após dominar os downloads de arquivos, vamos alternar para o upload de arquivos para um host remoto usando a linha de comando do WinSCP com winscp.exe. O processo é semelhante ao download, mas desta vez você também precisará usar a opção /upload
, especificando o arquivo ou pasta que deseja fazer upload.
A execução do comando acima abre a caixa de diálogo de upload do WinSCP, indicando os arquivos a serem enviados (*.*
) para o diretório /tmp do host remoto.

Após carregar, faça login no host remoto com um cliente SSH e verifique o sucesso do carregamento com comandos como `$pwd$` e `$ls -lh$`, que exibirão o conteúdo do diretório, confirmando a transferência bem-sucedida.

Aproveitando o WinSCP.exe para Baixar Arquivos Usando um Site
Enquanto os URLs de sessão são práticos para conexões ad hoc, ter um site pré-configurado no WinSCP simplifica o processo. Se você tem usado o WinSCP por um tempo, é provável que já tenha vários sites configurados.
Com o winscp.exe, você pode facilmente utilizar esses sites, criados na GUI, para se conectar a um host remoto, evitando a necessidade de lembrar detalhes do URL da sessão.
Para localizar sites salvos no WinSCP, navegue até Sessão -> Sites -> Gerenciador de Sites.
Por exemplo, vamos explorar o download de arquivos usando um site pré-existente com a linha de comando do WinSCP.
1. Conecte-se ao host remoto usando um site WinSCP configurado. O exemplo abaixo demonstra uma conexão usando um site chamado Adamsite
.
Uma vez conectado, o WinSCP exibe uma notificação de status.

2. Em seguida, execute o winscp.exe com o protocolo (sftp
), nome do site (Adamsite
) e diretório de destino (/tmp
). Esta abordagem abre a caixa de diálogo de configurações de transferência do WinSCP, pronta para ações de download de arquivos.
Clique em OK para iniciar o download de todos os arquivos do diretório /tmp do host remoto para o seu diretório local via SFTP.

Para enviar arquivos do seu computador local para um host remoto, o processo é análogo. Use o switch
/upload
junto com o caminho do arquivo ou diretório, comowinscp.exe Site3 /upload .\license.txt
. A especificação completa do URL (sftp://Adamsite/tmp
) não é necessária.
Otimizando a Edição Remota de Arquivos com WinSCP.exe
Precisa editar um arquivo de texto em um host remoto? Pule o ciclo de download-edição-upload manual. A linha de comando do WinSCP oferece um método mais eficiente usando o parâmetro /edit
. Basta especificar o nome do site, /edit
, e o caminho do arquivo remoto.
Exemplo:
Executar o comando acima abre o seu editor de texto padrão, permitindo que você modifique o arquivo remoto conforme necessário. Essa integração perfeita é um recurso-chave das capacidades da linha de comando do WinSCP.

Após a edição, simplesmente salve o arquivo. O WinSCP cuida de atualizar o arquivo no host remoto, otimizando o processo de edição-upload.
Otimizando o Fluxo de Trabalho com o Registro de Sessão do WinSCP.exe
Para um registro abrangente de suas ações, o comando de linha do WinSCP, WinSCP command line, oferece o registro de sessão. Essa funcionalidade é inestimável para rastrear os comandos executados durante uma sessão, auxiliando na solução de problemas e no registro de informações.
Para habilitar o registro de sessão, inclua até três parâmetros ao se conectar a uma sessão:
/log
– Especifica o caminho para o arquivo de log./loglevel
– Define a verbosidade dos logs, variando de Reduced (1
) a Debug (2
)./logsize
– Define o tamanho e a rotação do arquivo de log, no formato<total de logs arquivados>*<tamanho máximo do arquivo de log>
.
Abaixo está um exemplo de winscp.exe conectando-se a um host e registrando atividades em C:\winscp.log
em um nível Debug. O comando mantém até cinco arquivos de log de 10MB cada (5*10MB
).
Explorando Recursos Avançados com Comandos Interativos do WinSCP.com
Enquanto winscp.exe fornece uma ótima introdução às conexões remotas, winscp.com eleva sua experiência de linha de comando, oferecendo interação e controle mais profundos.
Comece abrindo o winscp.com em um ambiente de linha de comando. Você entrará em uma sessão interativa semelhante ao SSH, indicada pelo prompt winscp>
.
Conecte-se a um computador remoto usando o comando open
, seguido pelo nome do site desejado.
Após se conectar ao host remoto via linha de comando do WinSCP, conforme ilustrado com Adamsite
, você se encontrará em um ambiente semelhante a uma sessão SSH. Aqui, você pode executar comandos e interagir com o host remoto de forma eficiente.

Aprimorando a Segurança: Conectando-se com um Novo Par de Chaves (Chave do Host) no WinSCP
A autenticação de chave pública aumenta a segurança ao se conectar a sessões. Para usá-la, primeiro obtenha a impressão digital da chave do host para sua sessão. Use o comando ssh-keygen
na pasta do WinSCP seguindo a sintaxe abaixo.
Este comando gera um par de chaves SSH, essencial para autenticação segura. Uma vez executado, você receberá uma impressão digital necessária para as conexões de sessão winscp.com.

Para se conectar com o parâmetro hostkey
, forneça a impressão digital gerada conforme mostrado no exemplo abaixo.
Inclua o prefixo
ssh-rsa 2048
ao usar a impressão digital dessh-keygen
.
Maximizando a Eficiência com o WinSCP.com: Usando o Parâmetro /command
Embora as sessões interativas sejam ótimas para certas tarefas, a execução de comandos não interativos é crucial para scripts e automação. O winscp.com suporta isso através do parâmetro /command
, permitindo que você estabeleça uma sessão, execute um comando e desconecte em um único passo.
Por exemplo, use o parâmetro /command
para transferir um arquivo local para um host remoto. O exemplo abaixo demonstra a cópia de um arquivo de C:\abc\abc.txt para o diretório /tmp no host remoto 13.213.61.127
.
O parâmetro /command
aceita dois argumentos como strings: um para estabelecer a sessão e outro para a execução do comando real.
Automatizando Tarefas com WinSCP.com: O Parâmetro /script
Para necessidades de automação mais complexas, o parâmetro /script
no winscp.com permite que você execute uma série de comandos a partir de um script. Este recurso é inestimável ao gerenciar tarefas repetitivas ou operações complexas em hosts remotos.
Para utilizar o parâmetro /script
no linha de comando do WinSCP, comece criando um arquivo de script chamado upload_file_script.txt na sua área de trabalho com o seu editor de texto preferido.
Prepare um arquivo de texto em branco chamado a.txt no diretório /tmp do seu computador remoto.
Crie um diretório local em C:\abc.
A seguir, introduza o seguinte conteúdo no arquivo upload_file_script.txt e salve-o. Este script baixa o arquivo a.txt do diretório remoto /tmp e o reenvia como new_file.txt.
Execute este script usando o parâmetro /script
no WinSCP com o seguinte comando:
Use o comando
/ini=nul
para evitar que o WinSCP salve quaisquer configurações de sessão ao sair.
Utilizando WinSCP.com para Conversão de Chave
O WinSCP suporta autenticação baseada em senha e certificado ou autenticação baseada em chave pública. Para usar autenticação baseada em chave pública, é necessário um formato de chave privada compatível. O WinSCP auxilia na conversão de formatos de chave para compatibilidade.
Por exemplo, converta uma chave privada no formato PEM (como as da AWS EC2) para um formato amigável ao Putty usando a linha de comando do WinSCP. O parâmetro /keygen
em winscp.com facilita essa conversão.
- Aplique o parâmetro
/keygen
, seguido do caminho atual da chave. - Inclua o parâmetro
-o
para especificar o caminho do arquivo de saída da chave convertida. - Opcionalmente, use o parâmetro
-c
para adicionar um comentário à chave convertida.
Conclusão
Com este guia abrangente para a linha de comando do WinSCP, juntamente com o Guia da Interface Gráfica do WinSCP, você agora está equipado para aproveitar totalmente as capacidades do WinSCP. Seja para transferências de arquivos, execução de comandos, execução de scripts ou conversões de chaves, o WinSCP é uma ferramenta versátil para qualquer profissional de TI.
Como você planeja integrar o WinSCP ao seu fluxo de trabalho? Compartilhe seus pensamentos e experiências!