🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

Guia Completo de Conexão SFTP e Autenticação por Chave Pública no WinSCP

O WinSCP é uma ferramenta de transferência de arquivos essencial para o desenvolvimento de sites. Neste artigo, vamos explicar cuidadosamente tudo, desde os passos básicos para uma conexão SFTP segura até a configuração da "autenticação por chave pública", mais segura, com imagens (conceitos). Vamos simplificar os termos técnicos e fornecer código para copiar e colar. Vamos fazer funcionar juntos! 🚀


O Básico do WinSCP e SFTP

Primeiro, vamos revisar o fundamental.

O que é o WinSCP?

WinSCP é um cliente de transferência de arquivos de código aberto que funciona no Windows. É usado para trocar arquivos de forma segura entre seu computador local (seu PC) e um servidor remoto (o computador onde seu site está hospedado). Sua interface intuitiva de arrastar e soltar é uma grande vantagem.

O que é o SFTP?

SFTP (Protocolo de Transferência de Arquivos SSH) é um protocolo (um conjunto de regras de comunicação) para enviar e receber arquivos de forma criptografada. Diferente do antigo FTP, toda a comunicação é criptografada, impedindo que os dados sejam interceptados ou alterados por terceiros, tornando-o extremamente seguro. O SFTP é o padrão para o desenvolvimento web moderno.


Conexão SFTP Básica (Autenticação por Senha)

Primeiro, vamos tentar o método de conexão mais simples: usar uma senha para SFTP. É fácil—você só precisa inserir as informações fornecidas quando contratou seu servidor.

  1. Ao iniciar o WinSCP, a tela de login aparecerá.
  2. Selecione "Novo Site" e insira as seguintes informações:
    • Protocolo de arquivo: SFTP
    • Nome do host: O nome do host ou endereço IP do seu servidor (ex: `example.com`)
    • Número da porta: 22 (Esta é a porta padrão para SFTP, mas pode ser diferente dependendo do seu servidor)
    • Nome de usuário: O nome de usuário do seu servidor (ex: `user01`)
    • Senha: A senha do seu servidor
  3. Quando terminar, clique no botão "Salvar". Será solicitado um nome para o site; dê um nome fácil de reconhecer (ex: `Meu Website`) e clique em OK.
  4. A partir de agora, você pode simplesmente selecionar o nome do site salvo e clicar em "Login" para se conectar.

Isso é tudo o que é preciso para se conectar ao servidor e começar a enviar ou baixar arquivos. No entanto, para aumentar ainda mais a segurança, o próximo passo, "autenticação por chave pública", é fortemente recomendado.


【O Principal】Passo a Passo Completo para Configurar Autenticação por Chave Pública no WinSCP

A autenticação por senha é conveniente, mas acarreta o risco de que qualquer pessoa com sua senha possa acessar seu servidor. É aqui que entra a autenticação por chave pública. É um método mais avançado e seguro que usa um par de "chave" e "fechadura" para autenticação.

Envolve alguns passos, mas não se preocupe se você os seguir um por um. Se você seguir este guia, conseguirá configurá-lo com sucesso!

Passo 1: Criar um Par de Chaves (Pública e Privada)

Primeiro, você criará um "par de chaves" em seu próprio PC para usar na autenticação. O WinSCP vem com uma ferramenta chamada "PuTTYgen" para criar chaves.

  1. Na parte inferior da tela de login do WinSCP, vá para "Ferramentas" e selecione "Executar PuTTYgen".
  2. Assim que o PuTTYgen for iniciado, certifique-se de que o "Tipo de chave a ser gerada" na parte inferior da janela esteja definido como "RSA" e clique no botão "Gerar".
  3. Quando vir a mensagem "Por favor, gere alguma aleatoriedade movendo o mouse sobre a área em branco", mova o cursor do mouse aleatoriamente. Isso irá gerar uma chave única e imprevisível.
  4. Quando a barra de progresso estiver cheia, a geração da chave estará completa.

🔑 Definir e Salvar Informações da Chave

Uma vez que a chave é gerada, você precisa configurar algumas coisas.

  1. Copiar a chave pública: A string na caixa de texto na parte superior da janela rotulada "Chave pública para colar no arquivo authorized_keys do OpenSSH" (`ssh-rsa AAAA...`) é a sua chave pública. Você precisará definir isso no seu servidor mais tarde, então copie e cole tudo em um editor de texto por enquanto.
  2. Frase-senha da chave: Digite uma senha nos campos "Frase-senha da chave" e "Confirmar frase-senha". Esta é a senha para usar sua chave privada. É crucial porque, mesmo que alguém obtenha acesso não autorizado ao seu PC, não poderá fazer login no servidor sem esta frase-senha. Certifique-se de definir uma.
  3. Salvar a chave privada: Clique no botão "Salvar chave privada". Você receberá um aviso sobre salvá-la sem uma frase-senha se não tiver definido uma, mas prossiga clicando em "Sim". Dê ao arquivo um nome reconhecível, como "minha-chave-privada", e salve-o em um local seguro em seu PC. Você nunca deve dar este arquivo `.ppk` a ninguém.
  4. (Opcional) Salvar a chave pública: Você também pode salvar a chave pública como um arquivo usando o botão "Salvar chave pública", mas para este guia, usaremos a string que você copiou anteriormente.

Agora, você deve ter a "chave privada" (arquivo .ppk) no seu PC e a "chave pública" (a string que começa com ssh-rsa) em suas anotações.


Passo 2: Colocar a Chave Pública no Servidor

Em seguida, você instalará a chave pública que acabou de criar no servidor. Esta ação diz ao servidor: "Permita o acesso a qualquer pessoa que tenha a chave privada correspondente a esta chave pública."

Primeiro, faça login no servidor uma vez usando a autenticação por senha. (Se a autenticação por senha estiver desativada em seu servidor, você precisará pedir ao administrador do servidor para instalar a chave pública para você.)

Uma vez conectado ao servidor com o WinSCP, abra o terminal (a tela preta) indo ao menu superior "Comandos" -> "Abrir Terminal" ou pressionando `Ctrl+T`. Em seguida, execute os seguintes comandos um por um, em ordem.

1. Criar e Definir Permissões para o Diretório de Configuração do SSH

Crie um diretório dedicado (pasta) `~/.ssh` para armazenar a chave pública e defina suas permissões para que apenas o proprietário possa ler, escrever e executar. Este é um passo de segurança crucial.

mkdir -p ~/.ssh && chmod 700 ~/.ssh

2. Escrever a Chave Pública no Arquivo authorized_keys

Em seguida, anexe a chave pública a um arquivo chamado `authorized_keys`. Usuários com uma chave pública listada neste arquivo terão acesso permitido. Substitua `"Cole sua chave pública aqui"` no comando abaixo pela sua própria chave pública (a longa string que começa com `ssh-rsa AAAA...`) que você copiou do PuTTYgen antes de executá-lo.

echo "Cole sua chave pública aqui" >> ~/.ssh/authorized_keys

3. Definir Permissões para o Arquivo authorized_keys

Finalmente, defina as permissões do arquivo `authorized_keys` criado para que apenas o proprietário possa ler e escrever nele. Esta também é uma configuração de segurança obrigatória.

chmod 600 ~/.ssh/authorized_keys

Isso completa a configuração do lado do servidor! Você já pode fechar o terminal.


Passo 3: Configurar o WinSCP com a Chave Privada e Conectar!

Este é o último passo. Diremos ao WinSCP: "Use esta chave privada para se conectar."

  1. Volte para a tela de login do WinSCP, selecione o site que deseja configurar e clique no botão "Editar".
  2. Deixe o campo da senha em branco.
  3. Clique no botão "Avançado...". A janela de Configurações Avançadas do Site será aberta.
  4. Na árvore à esquerda, selecione "SSH" -> "Autenticação".
  5. Na seção "Parâmetros de autenticação", clique no botão "..." à direita do campo "Arquivo de chave privada".
  6. Uma caixa de diálogo de seleção de arquivo será aberta. Selecione o seu arquivo de chave privada (arquivo .ppk) que você salvou no Passo 1.
  7. Clique no botão "OK" para fechar as configurações avançadas e, em seguida, clique em "Salvar" na tela de login para atualizar a configuração.

Agora está tudo pronto! Tente clicar no botão "Login".

Em vez de uma solicitação de senha, você deve ver um prompt que diz "Digite a frase-senha para a chave." Aqui, digite a frase-senha que você definiu no Passo 1.

Se a lista de arquivos do servidor aparecer com sucesso, sua conexão SFTP com autenticação por chave pública foi um sucesso! 🎉


Casos de Uso: Os Benefícios da Autenticação por Chave Pública

  • Segurança Aprimorada: É muito mais forte contra ataques como força bruta de senhas. Como é impossível fazer login sem a chave privada, é significativamente mais seguro do que a autenticação apenas por senha.
  • Gerenciamento de Múltiplos Servidores: Ao registrar a mesma chave pública em vários servidores, você pode fazer login em muitos servidores com uma única chave privada (e frase-senha), facilitando o gerenciamento.
  • Integração com Automação: Quando combinado com scripts (conforme discutido posteriormente), você pode construir processos automatizados mais seguros sem a necessidade de escrever senhas diretamente neles.

Pontos a Observar ⚠️

  • Gerenciamento Rigoroso da Chave Privada: O arquivo de chave privada (.ppk) é o seu próprio passe de acesso. Nunca o mostre, dê a outros ou o envie para repositórios públicos (como o GitHub). Gerenciá-lo fisicamente em um pendrive é uma boa prática.
  • Importância da Frase-senha: Se você não definir uma frase-senha, qualquer pessoa que conseguir seu arquivo de chave privada poderá fazer login no servidor sem uma frase-senha. Sempre defina uma frase-senha complexa.
  • Configuração do SSH no Lado do Servidor: Os passos neste guia presumem que as conexões SSH e a autenticação por chave pública estão ativadas no servidor. Se você não conseguir se conectar, talvez precise verificar as configurações do arquivo `sshd_config` do servidor ou entrar em contato com o suporte do seu serviço de hospedagem.

Conclusão: Domine as Transferências de Arquivos Seguras!

Neste guia, cobrimos tudo, desde uma conexão SFTP básica usando o WinSCP até a configuração de uma autenticação por chave pública mais segura. Pode parecer um pouco desafiador no início, mas uma vez configurado, seu gerenciamento futuro de arquivos será muito mais seguro e conveniente.

Como criador da web, proteger os dados valiosos de seus clientes é uma responsabilidade crucial. Aproveite esta oportunidade para dominar a autenticação por chave pública e implementar um nível mais alto de segurança em seu fluxo de trabalho.