O WinSCP, uma ferramenta essencial para transferências seguras de arquivos, oferece mais do que apenas uma interface gráfica. A funcionalidade WinSCP linha de comando permite que profissionais de TI e sysadmins gerenciem e automatizem transferências de arquivos diretamente do console, aprimorando a eficiência e flexibilidade em seu fluxo de trabalho.
Para aprender tudo sobre a interface gráfica do WinSCP, confira este post complementar, O Guia Definitivo do WinSCP GUI.
Descubra todos os recursos da linha de comando que o WinSCP oferece neste Guia Definitivo. Você aprenderá, passo a passo, como aproveitar a linha de comando do WinSCP para maximizar sua produtividade e otimizar seus processos de transferência de arquivos.
Vamos mergulhar no mundo do gerenciamento 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 GUI do WinSCP oferece uma janela conveniente de Login para configurar conexões, a linha de comando do WinSCP requer uma abordagem diferente. Em vez de janelas interativas, você precisa especificar os atributos de conexão de maneira mais direta.

Para instruir a linha de comando do WinSCP sobre onde se conectar, é utilizada uma URL de sessão. Esta URL encapsula os atributos de conexão definidos na GUI.
A basic session URL follows this structure:
Por exemplo, para se conectar ao host 1.1.1.1
com o 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 encontrar facilmente a URL da sessão. Abra a interface gráfica 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 da 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 exclusiva, como
WinSCP-sftp://
, especificamente para o entendimento do WinSCP, evitando conflitos com navegadores da web padrão. - Extensão de salvamento – Frequentemente associada a 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 de Sessão
Com sua URL de sessão pronta, o WinSCP vai além, oferecendo exemplos de código na guia Gerar URL/Código da Sessão da janela, na guia Script. Aqui, você pode selecionar diferentes tipos de script:
- Arquivo de script
- Arquivo em lote
- Script de linha de comando
- PowerShell
Escolha o tipo de script preferido e o WinSCP gerará a sintaxe necessária para conectar a um host remoto usando a linha de comando do WinSCP.

Para programar em .NET, C# ou PowerShell, mude para a guia código de montagem .NET, como 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 o uso das 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 como o iniciador da GUI e 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 melhor opção. Essa ferramenta baseada em console é ideal para scripts de automação e suporta uma variedade de funções SSH. Ela oferece uma experiência verdadeira de linha de comando do WinSCP não interativa.
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 o uso do 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 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 depois navegar até o diretório /tmp, use o seguinte comando:
Para uma segurança aprimorada, ao invés de utilizar 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, as complexidades de configurar 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
.
Download eficiente de arquivos com o WinSCP.exe sem um site
Através da linha de comando do WinSCP usando o winscp.exe, você pode transferir arquivos rapidamente usando conexões ad hoc, mesmo sem uma configuração pré-definida do site do WinSCP. Vamos explorar o download de arquivos de um host remoto sem uma configuração de site. Por exemplo, baixar todos os arquivos no diretório /tmp do host remoto 54.179.19.216 usando o SFTP.
1. Comece gerando um URL de sessão. Abaixo está um exemplo de conexão com o host remoto usando as credenciais automate
e chegando ao diretório /tmp.
2. Execute o winscp.exe com o 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 é ~\Documents, 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.

Enviando Arquivos Usando o WinSCP.exe Sem um Site
Após dominar o download de arquivos, vamos mudar para o envio de arquivos para um host remoto usando a linha de comando do WinSCP com o winscp.exe. O processo é semelhante ao download, mas desta vez você também precisará usar o switch /upload
, especificando o arquivo ou pasta que deseja enviar.
Executar o 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 o upload, faça login no host remoto com um cliente SSH e verifique o sucesso do upload 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 WinSCP pré-configurado simplifica o processo. Se você tem usado o WinSCP por algum tempo, provavelmente já tem vários sites configurados.
Com o winscp.exe, você pode facilmente utilizar esses sites, criados na interface gráfica, para se conectar a um host remoto, evitando a necessidade de lembrar detalhes do URL da sessão.
Para localizar sites salvos no WinSCP, vá para Sessão -> Sites -> Gerenciador de Sites.
Por exemplo, vamos explorar o download de arquivos usando um site pré-existente com o 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 começar 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 a opção
/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 de Arquivos Remotos com WinSCP.exe
Precisa editar um arquivo de texto em um host remoto? Pule o ciclo manual de download, edição e upload. O WinSCP linha de comando 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 é uma característica fundamental das capacidades da linha de comando do WinSCP.

Após editar, simplesmente salve o arquivo. O WinSCP cuida de atualizar o arquivo no host remoto, simplificando o processo de edição e upload.
Otimizando o Fluxo de Trabalho com o Log de Sessão do WinSCP.exe
Para um registro abrangente de suas ações, o comando de linha de WinSCP oferece registro de sessão. Este recurso é inestimável para rastrear os comandos executados durante uma sessão, ajudando na solução de problemas e na manutenção de registros.
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 Reduzido (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 se conectando a um host e registrando a atividade em C:\winscp.log
em um nível de Debug. O comando mantém até cinco arquivos de log de 10MB (5*10MB
).
Explorando Recursos Avançados com Comandos Interativos do WinSCP.com
Enquanto winscp.exe fornece uma ótima introdução a conexões remotas, winscp.com eleva sua experiência na 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 lembrando o SSH, indicada pelo prompt winscp>
.
Conecte-se a um computador remoto usando o comando open
, seguido pelo nome do site desejado.
Depois de se conectar ao host remoto via linha de comando do WinSCP, como 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 eficientemente.

Reforçando a Segurança: Conectando-se com um Novo Par de Chaves (Chave do Host) no WinSCP
A autenticação de chave pública melhora a segurança ao conectar 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 conexões de sessão do winscp.com.

Para 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 dossh-keygen
.
Maximizando a Eficiência com WinSCP.com: Usando o Parâmetro /command
Enquanto as sessões interativas são ótimas para certas tarefas, a execução de comandos não interativa é crucial para scripts e automação. O /command
parâmetro do winscp.com suporta isso, 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 o 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. Esse recurso é inestimável ao lidar com tarefas repetitivas ou operações complexas em hosts remotos.
Para utilizar o parâmetro /script
na 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.
Em seguida, insira 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 switch
/ini=nul
para evitar que o WinSCP salve quaisquer configurações de sessão ao sair.
Utilizando o WinSCP.com para Conversão de Chave
O WinSCP suporta autenticação baseada em senha e em certificado ou autenticação de chave pública. Para usar autenticação de 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 aquelas da AWS EC2) para um formato compatível com o Putty usando o linha de comando do WinSCP. O parâmetro /keygen
no 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!