INEMA.CLUBPROSSH e Chaves SSH

Trilha · SSH e VPS

Sua porta de entrada
pra própria VPS

Nove aulas curtas pra você conectar na sua VPS pelo terminal, entender as chaves SSH e resolver sozinho os travamentos mais comuns — sem esperar suporte técnico pra cada ajuste.

Trilha · Aula 1

O que é SSH

Ao fim desta aula você reconhece, em qualquer comando de conexão remota, os 4 elementos que ele sempre precisa ter — sem decorar nenhum código.

Hoje, quando algo trava na automação que roda na sua VPS, você depende de mandar mensagem pro suporte e esperar. As próximas aulas resolvem isso — mas antes, você precisa entender o que está de fato acontecendo quando alguém "entra" num servidor. Sem essa base, qualquer comando vira decoreba.

role para estudar

01 O corredor privado até a sua VPS

Uma VPS é um computador que fica ligado 24 horas num data center, rodando a automação do seu negócio. O SSH é o corredor privado que liga o seu computador direto a esse servidor — sem precisar viajar até o data center.

Depois que Marta, dona de salão de beleza, conecta por SSH na VPS onde roda a confirmação automática de horários por WhatsApp, tudo que ela digita passa a rodar lá dentro, não mais no notebook dela.

02 Pra que esse corredor serve, na prática

Com SSH você entra na VPS e resolve, com as próprias mãos, o que hoje pede suporte: reiniciar um serviço travado, olhar por que uma mensagem não saiu, ajustar um arquivo, ou só confirmar que está tudo funcionando.

Ricardo, dono de loja de roupas, usa uma automação que posta as novidades de coleção sozinha. Quando ela para de postar, é o SSH que deixa ele entrar na VPS e ver o que aconteceu, no mesmo minuto — em vez de esperar alguém disponível.

Você não precisa entender o servidor inteiro — só precisa saber abrir a porta certa quando for necessário.

03 Os 4 elementos de toda conexão

Toda conexão por SSH — a de Marta, a de Ricardo, a de qualquer pessoa — depende sempre dos mesmos 4 elementos, nunca mais nem menos:

  • O cliente SSH — o programa no seu próprio computador que inicia a conversa.
  • O servidor SSH — o serviço que fica ligado dentro da VPS, esperando alguém bater.
  • O IP da VPS — o endereço público que diz onde ela está, como um número de casa.
  • A autenticação — senha ou chave, a prova de que é você mesmo entrando.

Teste-se

Se você troca de VPS (por exemplo, a Hostinger em vez da AWS), qual dos 4 elementos muda?

04 O que muda quando você entende isso

Um comando de conexão parece uma fileira de símbolos estranhos na primeira vez. Depois desta aula, ele vira só isto: cliente, servidor, IP e autenticação, numa ordem fixa — nada além disso.

Marta olhava para ssh root@123.123.123.123 como um enigma. Hoje ela sabe: é o cliente dela (o ssh) autenticando um usuário (root) num endereço (123.123.123.123) — os 4 elementos, na mesma ordem de sempre.

Antes

Um comando de conexão era um bloco de texto pra copiar sem entender, torcendo pra funcionar.

Depois

O mesmo comando vira 4 peças reconhecíveis — e você sabe qual delas ajustar quando algo muda.

Pratique agora 0/2 feito

Identifique os 4 elementos num caso real

Ler o mini-caso abaixo e apontar os 4 elementos — ~8 min.

Não existe nada pra quebrar aqui: é só leitura e raciocínio, sem tocar em nenhuma VPS de verdade.

Mini-caso

Marta quer entrar na VPS onde roda sua automação de WhatsApp. Ela abre o terminal do próprio notebook e digita ssh admin@45.77.12.9. Aparece um aviso pedindo a senha; ela digita e entra. Ricardo, na loja de roupas, faz o mesmo, só que na VPS dele o endereço é outro e o usuário também.

ver resposta comentada

IP: 45.77.12.9 — o endereço da VPS de Marta. Usuário: admin — quem está autenticando. O cliente é o terminal do notebook dela; o servidor é o serviço SSH ligado dentro da VPS. No caso de Ricardo, IP e usuário mudam porque são de outra VPS — mas os 4 papéis (cliente, servidor, IP, autenticação) continuam os mesmos, porque é assim que o SSH funciona sempre.

Você acabou de conseguir reconhecer os 4 elementos de qualquer conexão SSH — a base que todas as próximas aulas usam.

Resumo

  • SSH é o corredor privado que liga seu computador direto a uma VPS ligada 24 horas.
  • Toda conexão depende sempre dos mesmos 4 elementos: cliente, servidor, IP e autenticação.
  • Entender esses 4 elementos transforma um comando de conexão de "enigma" em algo reconhecível.

Seu próximo passo

Você acabou de conseguir decompor qualquer comando de conexão SSH nos seus 4 elementos.

Nos próximos 15 minutos: abra o comando de conexão da sua própria VPS (se já tiver um salvo em algum lugar) e aponte, sozinho, qual parte é o IP e qual é o usuário.

Na próxima aula, você confere se o SSH já está pronto no seu Windows e faz sua primeira conexão de verdade.

1"> [ {"front":"Quais são os 4 elementos que toda conexão SSH precisa ter?","back":"Cliente SSH, servidor SSH, IP da VPS e autenticação (senha ou chave)."}, {"front":"Você troca sua VPS da Hostinger pra AWS. O que muda nos 4 elementos, e o que continua igual?","back":"O IP muda (é outro servidor); o cliente, o protocolo e o jeito de autenticar continuam iguais."}, {"front":"Qual a diferença entre o 'cliente SSH' e o 'servidor SSH'?","back":"O cliente é o programa no seu computador que inicia a conexão; o servidor é o serviço dentro da VPS que espera e responde."}, {"front":"Marta recebe um aviso pedindo senha ao tentar conectar. A qual dos 4 elementos esse aviso pertence?","back":"À autenticação — a prova de que é ela mesma entrando."} ]

Trilha · Aula 2

Preparando o computador
e a primeira conexão

Ao fim desta aula você confere se o SSH já está pronto no seu Windows e conecta na sua própria VPS pela primeira vez, usando senha.

Toda a teoria da aula 1 só vira útil quando você abre o corredor de verdade, uma vez. É a diferença entre saber o que é uma chave de carro e sentar no banco do motorista.

role para estudar

01 Conferindo se o SSH já está no seu Windows

Isto é uma receita simples: você abre o terminal (CMD ou PowerShell), digita um comando de checagem, e lê a resposta.

Marta abre o menu Iniciar, digita "cmd", abre o Prompt de Comando e digita ssh -V. Se aparecer algo como OpenSSH_for_Windows, o SSH já está instalado — ela não precisa fazer mais nada nesta etapa.

ssh -V

02 Se não estiver instalado

Se o comando não for reconhecido, o Windows 10/11 tem o SSH pronto pra ativar, sem baixar nada de fora: Configurações → Apps → Recursos opcionais → Adicionar recurso → OpenSSH Client.

Ricardo passou por isso na loja: o comando deu erro na primeira vez, ele ativou o recurso pelo caminho acima, reabriu o terminal, e o ssh -V funcionou.

Erro comum

Testar o comando sem fechar e reabrir o terminal depois de ativar o recurso. O Windows só reconhece o SSH numa janela nova — feche o terminal antigo e abra outro antes de testar de novo.

03 O comando de conexão e a primeira pergunta

Com o SSH pronto, a conexão em si é uma linha: ssh usuário@IP_DA_VPS. Marta digita ssh root@123.123.123.123 (o IP é sempre o da VPS dela, não este exemplo).

Na primeira vez que qualquer pessoa conecta numa VPS nova, aparece uma pergunta: Are you sure you want to continue connecting?. É o computador confirmando que você reconhece esse servidor — digite yes e Enter.

Teste-se

Essa pergunta de confirmação aparece toda vez que você conecta, ou só na primeira vez com aquela VPS?

04 Digitando a senha (que não aparece na tela)

Depois do yes, a VPS pede a senha. Ricardo, na primeira vez, achou que o teclado tinha travado: nenhuma letra aparecia enquanto ele digitava.

É assim mesmo, de propósito: por segurança, a senha nunca aparece na tela, nem como pontinhos. Digite normalmente e aperte Enter — ela está sendo recebida, só não é mostrada.

Checklist da primeira conexão

  1. Abrir o terminal (CMD ou PowerShell).
  2. Digitar ssh usuário@IP_DA_VPS com os dados da sua própria VPS.
  3. Na 1ª vez, digitar yes quando perguntado.
  4. Digitar a senha (ela não aparece) e apertar Enter.

Pratique agora 0/3 feito

Conecte na sua VPS pela primeira vez

Confirmar o SSH instalado e entrar na sua VPS com senha — ~10 min.

Conectar e olhar não muda nada na VPS. Se algo parecer errado, digite exit e você sai sem ter alterado nada.

ssh -V
ssh usuario@IP_DA_VPS

Você acabou de entrar na sua própria VPS pela primeira vez — a mesma ação que Marta e Ricardo fazem sempre que precisam checar algo de perto.

Resumo

  • O Windows 10/11 já vem com um jeito de ativar o SSH, sem instalar nada de fora.
  • A primeira conexão com uma VPS nova sempre pede uma confirmação (yes) — só na primeira vez.
  • A senha não aparece na tela por segurança, mesmo assim ela está sendo recebida.

Seu próximo passo

Você acabou de conectar na sua própria VPS pela primeira vez, com senha.

Nos próximos 15 minutos: entre de novo na sua VPS e repare no "prompt" (o texto antes do cursor) — ele muda pra indicar que você está dentro do servidor agora.

Na próxima aula, você aprende os comandos básicos pra se localizar e mexer nessa VPS sem medo de se perder.

2"> [ {"front":"Você digitou ssh -V e o Windows disse que não reconhece o comando. Qual o próximo passo?","back":"Ativar o OpenSSH Client em Configurações → Apps → Recursos opcionais, depois fechar e abrir um terminal novo."}, {"front":"Ao digitar a senha no terminal, nenhuma letra nem pontinho surge na tela. Isso indica algum problema?","back":"Não — é um comportamento de segurança do próprio SSH; o que você digita continua sendo recebido normalmente."}, {"front":"Na 3ª vez que você conecta na mesma VPS, a pergunta 'are you sure...' deve aparecer de novo?","back":"Não — ela só aparece na primeira conexão com aquele servidor específico."} ]

Trilha · Aula 3

Andando dentro
do servidor

Ao fim desta aula você se localiza dentro da sua VPS, anda entre pastas, confere informações básicas e sai com segurança.

Depois de entrar (aula 2), o primeiro susto de quem nunca usou terminal é não saber onde está nem o que fazer a seguir. Estes 5 comandos resolvem 90% do "estou perdido".

role para estudar

01 Onde você está e o que tem aqui

Assim que entra, dá pra confirmar dois pontos: onde você está e o que existe ao redor. pwd mostra o caminho da pasta atual; ls lista os arquivos e pastas dentro dela.

Marta entra na VPS, digita pwd e vê algo como /root — a "sala" onde ela chegou. Depois digita ls e vê os arquivos da automação de WhatsApp que estão ali guardados.

pwd
ls

02 Andando entre pastas

Pra entrar numa pasta, use cd nome-da-pasta ("cd" de mudar de diretório). Pra voltar uma pasta, cd .. — os dois pontos significam "a pasta de cima".

Ricardo quer ver a pasta da automação de posts: digita cd automacao, confirma com pwd, e quando termina de olhar, digita cd .. pra voltar de onde veio.

Erro comum

Esquecer o espaço entre "cd" e o nome da pasta, ou errar uma letra do nome. O terminal é bem literal — cdautomacao não funciona, e um nome de pasta errado dá "não encontrado". Confira com ls o nome exato antes de entrar.

03 Vendo informações e mantendo o sistema em dia

uname -a mostra informações do sistema (qual versão do Linux está rodando). Em servidores baseados em Ubuntu ou Debian — os mais comuns em VPS de automação — sudo apt update && sudo apt upgrade -y atualiza os programas instalados.

Marta roda essa atualização uma vez por mês na VPS do salão, do mesmo jeito que atualiza o celular — é manutenção preventiva, não corrige um problema específico.

uname -a
sudo apt update && sudo apt upgrade -y

Teste-se

O comando de atualização precisa ser rodado toda vez que você entra na VPS?

04 Saindo com segurança

Pra sair da VPS e voltar pro seu próprio computador, digite exit e Enter. O prompt muda de volta, confirmando que você já não está mais "dentro" do servidor.

Ricardo termina de checar a automação, digita exit, e volta a ver o terminal do seu próprio notebook — sinal de que qualquer comando que ele digitar agora roda no notebook, não mais na VPS.

Checklist de navegação básica

  1. pwd — onde estou.
  2. ls — o que tem aqui.
  3. cd nome / cd .. — entrar / voltar de pasta.
  4. exit — sair da VPS com segurança.

Pratique agora 0/2 feito

Explore sua VPS sem risco

Rodar os 4 comandos de localização e sair com segurança — ~10 min.

pwd, ls, uname -a e exit só leem informação — nenhum deles apaga ou altera nada. Se algo parecer estranho, exit sempre te tira de lá.

pwd
ls
cd nome-de-uma-pasta-que-voce-viu-no-ls
cd ..
exit

Você acabou de aprender a se mover dentro da sua VPS sem depender de ninguém pra "só dar uma olhada".

Resumo

  • pwd e ls mostram onde você está e o que tem ali — sempre o primeiro passo.
  • cd entra numa pasta, cd .. volta — o terminal é literal com nomes e espaços.
  • exit sai da VPS com segurança e devolve o controle ao seu computador.

Seu próximo passo

Você acabou de conseguir se localizar e navegar dentro da sua VPS sem travar.

Nos próximos 15 minutos: entre na VPS, rode ls, escolha uma pasta que reconheça e entre nela com cd — depois saia com exit.

Na próxima aula, você entende as chaves SSH — o jeito mais seguro de entrar, sem digitar senha toda vez.

3"> [ {"front":"Você quer voltar uma pasta sem saber o nome dela. Qual comando usa?","back":"cd .. — os dois pontos significam 'a pasta de cima', não precisa saber o nome."}, {"front":"Diagnóstico: você digitou cd automcao e recebeu 'não encontrado'. Qual a causa mais provável?","back":"Erro de digitação no nome da pasta — confira o nome exato com ls antes de tentar de novo."}, {"front":"Depois de rodar sudo apt update && sudo apt upgrade -y, você precisa rodar de novo na próxima vez que conectar?","back":"Não — é manutenção periódica, não uma etapa obrigatória de toda conexão."} ]

Trilha · Aula 4

Entendendo suas
chaves SSH

Ao fim desta aula você reconhece, dentro da pasta de chaves do seu computador, qual arquivo é privado e qual é público — e por que ter várias chaves é normal.

A partir da aula 6 você vai criar sua própria chave. Antes disso, precisa entender o que uma chave SSH é e onde ela mora — senão, qualquer passo seguinte vira decoreba de novo.

role para estudar

01 Por que ter mais de uma chave é normal

Uma chave SSH é uma forma de entrar sem digitar senha. E, assim como você tem chaves diferentes pra casa e pro carro, é comum ter uma chave SSH diferente pra cada serviço.

Marta tem uma chave pra VPS do salão e outra pra GitHub, onde guarda o código da automação. São chaves separadas, cada uma abrindo só a porta a que pertence.

02 Onde essas chaves moram no seu computador

No Windows, as chaves ficam guardadas numa pasta escondida chamada .ssh, dentro da sua pasta de usuário: C:\Users\SEU_USUARIO\.ssh\. No Linux ou Mac, o mesmo lugar se chama ~/.ssh/.

Ricardo encontrou a pasta dele em C:\Users\ricardo\.ssh\ — o mesmo padrão, só trocando o nome de usuário do Windows dele.

A pasta .ssh é uma gaveta só sua — cada chave dentro dela abre uma porta específica.

03 Reconhecendo os arquivos dentro da pasta

Dentro de .ssh você pode encontrar nomes como id_ed25519, hostinger_vps.pub, config e known_hosts. A regra pra reconhecer é simples:

  • Arquivo sem .pub no final = chave privada.
  • Arquivo com .pub no final = chave pública.
  • config = atalhos de conexão (aula 8).
  • known_hosts = lista de servidores já confirmados (a pergunta "yes" da aula 2).

Teste-se

Marta vê dois arquivos: hostinger_vps e hostinger_vps.pub. Qual dos dois é a chave privada?

04 A regra de ouro: privada nunca sai daqui

A chave pública (.pub) pode ser colocada em qualquer VPS, no GitHub, no GitLab — ela só serve pra "reconhecer" a chave privada correspondente, nunca pra entrar sozinha.

A chave privada nunca deve ser compartilhada, copiada pra nuvem pública ou mandada por mensagem. Ricardo mantém a dele só no próprio notebook, do mesmo jeito que guarda a chave física da loja com ele, nunca emprestando o molde pra qualquer um copiar.

Antes

Uma senha só, que qualquer um pode tentar adivinhar testando várias vezes.

Depois

Um par de chaves: a pública espalhada onde precisar, a privada guardada só com você — impossível de adivinhar por tentativa.

Pratique agora 0/2 feito

Reconheça suas próprias chaves

Listar sua pasta .ssh e classificar cada arquivo — ~8 min.

Listar arquivos só mostra os nomes, não abre nem altera nada dentro deles. Nenhum risco.

dir %USERPROFILE%\.ssh

Você acabou de conseguir reconhecer, na sua própria pasta, o que é privado e o que pode ser compartilhado.

Resumo

  • Ter mais de uma chave SSH é normal — cada serviço pode ter a sua própria.
  • As chaves moram na pasta .ssh da sua conta de usuário, no Windows, Linux ou Mac.
  • A regra que separa os arquivos: sem .pub é privada, com .pub é pública — e a privada nunca sai do seu computador.

Seu próximo passo

Você acabou de conseguir reconhecer chave privada e chave pública dentro da sua própria pasta .ssh.

Nos próximos 10 minutos: abra sua pasta .ssh (se já tiver uma) e separe mentalmente cada arquivo em "privada" ou "pública".

Na próxima aula, você resolve o erro mais comum de quem copia um comando do lugar errado — antes de criar sua própria chave na aula 6.

4"> [ {"front":"Qual a diferença entre a chave que fica com você e a que vai pra VPS?","back":"A privada (sem .pub) fica só no seu computador; a pública (.pub) pode ser colocada na VPS, GitHub etc."}, {"front":"Decisão: você precisa mandar sua chave por mensagem pra um colega configurar a VPS. Qual arquivo você envia?","back":"Nenhum arquivo privado — envie só o .pub, e ainda assim prefira que o colega gere a própria chave."}, {"front":"Por que faz sentido ter uma chave pra VPS e outra pra GitHub, em vez de uma só pra tudo?","back":"Porque cada chave abre só a porta a que pertence — se uma vazar, as outras continuam seguras."}, {"front":"Contraste: o que muda entre 'perder a chave pública' e 'perder a chave privada'?","back":"Perder a pública não é grave (ela é feita pra circular); perder a privada é sério, porque ela é a prova de identidade."} ]

Trilha · Aula 5

CMD ou PowerShell?

Ao fim desta aula você reconhece em qual terminal está e evita o erro de sintaxe mais comum de quem copia comando do lugar errado.

O Windows tem dois terminais diferentes, e um comando que funciona num não funciona no outro. É a causa nº 1 de "copiei certinho e não funcionou" — vamos resolver isso antes de criar sua chave, na aula 6.

role para estudar

01 Por que existem dois terminais no Windows

O Windows traz dois terminais diferentes: o CMD (Prompt de Comando, mais antigo) e o PowerShell (mais novo, mais recursos). Os dois abrem uma janela parecida, mas entendem sintaxes diferentes pra algumas coisas — como referenciar a pasta do seu usuário.

Marta abriu o CMD sem perceber, pois ela buscou "prompt" no menu Iniciar — o PowerShell aparece quando se busca "powershell". Nenhum dos dois é "o errado"; são só diferentes.

02 O erro que mais aparece: misturar a sintaxe dos dois

Ricardo estava no CMD, no caminho C:\Users\ricardo\projetos\testes>, e tentou rodar type $env:USERPROFILE\.ssh\id_ed25519.pub — um comando de PowerShell, digitado dentro do CMD.

Erro comum

Usar $env:USERPROFILE dentro do CMD (ou %USERPROFILE% dentro do PowerShell). O erro aparece como algo do tipo "a sintaxe do nome do arquivo... está incorreta" — porque $env:USERPROFILE é sintaxe do PowerShell, e o CMD não entende.

03 A tradução entre os dois

A regra é: no CMD, a pasta do seu usuário se escreve %USERPROFILE%; no PowerShell, se escreve $env:USERPROFILE. É o mesmo lugar, só com uma "palavra" diferente pra cada terminal.

Marta aprendeu a olhar o título da janela ou o próprio prompt: se aparece só um caminho simples como C:\Users\marta>, costuma ser CMD; se aparece PS C:\Users\marta> com "PS" na frente, é PowerShell.

04 Checklist antes de copiar qualquer comando

A partir de agora, todo comando que envolve %USERPROFILE% ou $env:USERPROFILE nesta trilha indica pra qual dos dois terminais ele serve — confira antes de colar. Foi exatamente esse hábito que evitou o mesmo erro de Ricardo se repetir com Marta.

Checklist rápido

  1. Olhe o prompt: tem "PS" na frente? É PowerShell. Não tem? É CMD.
  2. No CMD, use %USERPROFILE%.
  3. No PowerShell, use $env:USERPROFILE.
  4. Deu erro de sintaxe? Confira se você está no terminal certo pro comando.

Pratique agora 0/2 feito

Compare os dois terminais na prática

Rodar o mesmo pedido nos dois terminais, cada um com sua sintaxe — ~8 min.

Só estamos listando o conteúdo de uma pasta — nenhum dos dois comandos altera nada.

REM no CMD:
dir %USERPROFILE%\.ssh

# no PowerShell:
dir $env:USERPROFILE\.ssh

Você acabou de aprender a reconhecer, antes de digitar, qual sintaxe cada terminal espera.

Resumo

  • CMD e PowerShell são terminais diferentes, com sintaxes próprias pra algumas coisas.
  • O erro mais comum é usar $env:USERPROFILE no CMD, ou %USERPROFILE% no PowerShell.
  • Olhar o prompt (tem "PS" na frente ou não?) diz em qual dos dois você está.

Seu próximo passo

Você acabou de conseguir identificar em qual terminal está antes de colar um comando.

Nos próximos 10 minutos: abra os dois terminais lado a lado e repare na diferença do prompt de cada um.

Na próxima aula, você usa exatamente esse cuidado pra criar sua própria chave SSH, do jeito certo pro seu terminal.

5"> [ {"front":"Você está num prompt que começa com 'PS C:\\Users\\...'. Qual terminal é esse?","back":"PowerShell — o 'PS' na frente é o sinal."}, {"front":"Diagnóstico: apareceu 'a sintaxe do nome do arquivo... está incorreta' ao usar $env:USERPROFILE. O que provavelmente aconteceu?","back":"O comando foi digitado no CMD, que não entende a sintaxe $env: (isso é PowerShell)."}, {"front":"Aplicação: você vai copiar um comando de um tutorial que usa %USERPROFILE%. Em qual terminal ele deve ser colado?","back":"No CMD — %USERPROFILE% é a sintaxe do CMD, não do PowerShell."} ]

Trilha · Aula 6

Criando sua
própria chave SSH

Ao fim desta aula você tem uma chave SSH própria, criada por você, pronta pra ser colocada na sua VPS na próxima aula.

Até aqui você só reconheceu chaves já existentes. Agora é a sua vez de gerar a primeira — o passo que te deixa independente de digitar senha a cada conexão.

role para estudar

01 Vendo uma chave que já existe

Antes de criar uma chave nova, vale ver como uma chave pública se parece por dentro: um texto longo, começando com ssh-ed25519. No CMD, type mostra o conteúdo de um arquivo de texto.

Marta já tem a chave id_ed25519.pub de um teste antigo; ela roda type %USERPROFILE%\.ssh\id_ed25519.pub e vê algo como ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... minha-vps.

type %USERPROFILE%\.ssh\id_ed25519.pub

02 Abrindo a pasta .ssh pelo Explorer, se preferir enxergar

Se preferir ver os arquivos como ícones em vez de texto, o comando explorer %USERPROFILE%\.ssh abre a pasta no Explorer do Windows, a mesma janela de sempre pra ver arquivos.

Ricardo prefere esse jeito: ele digita o comando, o Explorer abre, e ele vê os arquivos hostinger_vps e hostinger_vps.pub lado a lado, do jeito que já está acostumado a olhar pastas.

Erro comum

Arrastar ou copiar a chave privada pra fora dessa pasta "só pra guardar num lugar mais fácil". Qualquer cópia da chave privada em outro lugar (área de trabalho, nuvem pessoal) é uma cópia a mais que pode vazar — deixe-a só ali dentro.

03 Criando a chave, passo a passo

O tipo de chave recomendado hoje é o ed25519 — mais moderno e mais seguro. O comando de criação pede um caminho e um nome pra sua chave nova.

Marta escolhe chamar a dela de minha_vps, no CMD:

ssh-keygen -t ed25519 -C "minha-vps" -f %USERPROFILE%\.ssh\minha_vps

Depois disso, é só apertar Enter nas perguntas seguintes (elas pedem uma senha extra opcional pra chave — pode deixar em branco e confirmar).

Teste-se

Depois de rodar o comando acima, quantos arquivos novos aparecem na pasta .ssh?

04 O que a criação gera

O comando da etapa anterior cria dois arquivos: minha_vps (chave privada — nunca compartilhe) e minha_vps.pub (chave pública — pode ir pra VPS).

Ricardo confere os dois arquivos na sua pasta e já reconhece qual é qual, aplicando a regra da aula 4: sem .pub é privada, com .pub é pública.

Conferindo sua chave nova

  1. Rodar o ssh-keygen com -f apontando pro nome escolhido.
  2. Apertar Enter nas perguntas seguintes.
  3. Conferir os 2 arquivos novos: um privado, um .pub.

Pratique agora 0/2 feito

Gere sua própria chave SSH

Criar um par de chaves novo, escolhendo seu próprio nome — ~10 min.

Criar uma chave nova não apaga nenhuma chave existente nem mexe na sua VPS — é só um par de arquivos novo dentro da pasta .ssh. Se não gostar do nome escolhido, pode apagar os 2 arquivos e criar de novo.

ssh-keygen -t ed25519 -C "minha-vps" -f %USERPROFILE%\.ssh\<escolha um nome>

Você acabou de criar sua própria chave SSH — pronta pra entrar na VPS na próxima aula.

Resumo

  • ssh-keygen -t ed25519 cria um par de chaves novo, com o nome que você escolher.
  • Toda criação gera exatamente 2 arquivos: a privada e a .pub, correspondente a ela.
  • A chave privada nunca deve sair da pasta .ssh, nem ser copiada pra outro lugar "por conveniência".

Seu próximo passo

Você acabou de criar sua própria chave SSH, do zero.

Nos próximos 10 minutos: rode type no arquivo .pub da chave que você criou, só pra ver como o conteúdo dela se parece.

Na próxima aula, você coloca essa chave dentro da VPS e conecta sem digitar senha nunca mais.

6"> [ {"front":"Qual comando cria um novo par de chaves SSH do tipo recomendado atualmente?","back":"ssh-keygen -t ed25519 -C \"comentário\" -f caminho/nome-da-chave"}, {"front":"Diagnóstico: você rodou o ssh-keygen e só vê 1 arquivo na pasta. O que provavelmente deu errado?","back":"O comando não terminou de rodar (talvez travado numa das perguntas) — normalmente ele sempre gera 2 arquivos."}, {"front":"Aplicação: você quer guardar uma cópia da chave privada 'por segurança', num pendrive. Isso é uma boa prática?","back":"Não é recomendado — cada cópia extra da chave privada é um risco a mais; prefira criar uma chave nova se precisar em outro lugar."} ]

Trilha · Aula 7

Colocando sua chave
na VPS, passo a passo

Ao fim desta aula você conecta na sua VPS usando a chave que criou, sem digitar senha nenhuma.

Você já tem a chave (aula 6). Falta um passo: entregar a metade pública dela pra VPS reconhecer, e testar. É a aula mais longa da trilha porque reúne tudo que veio antes — vale a pena ir com calma.

role para estudar

01 Qual chave vai pra VPS

A regra é sempre a mesma: só a chave pública (o arquivo .pub) viaja até a VPS. A privada nunca sai do seu computador — nem nesta aula.

Marta já rodou ssh-keygen e tem minha_vps e minha_vps.pub. Ela segue os passos abaixo uma vez, e da próxima vez que precisa checar a automação de WhatsApp, entra sem digitar nada além do comando. Ricardo faz exatamente a mesma sequência, na VPS da loja dele, trocando só o IP e o nome da chave.

02 Criando o lugar certo dentro da VPS

Primeiro, veja sua chave pública no seu computador (type %USERPROFILE%\.ssh\minha_vps.pub) e copie o texto inteiro. Depois, entre na VPS com senha (aula 2) e crie, dentro dela, a pasta e o arquivo que guardam as chaves autorizadas:

mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys

O nano é um editor de texto simples que abre dentro do próprio terminal. Cole ali a chave pública copiada, e salve com CTRL+O, Enter, depois CTRL+X pra sair. Foi assim que Ricardo colou a chave pública da loja dentro da VPS, na primeira vez que fez esse passo.

Checklist completo: chave no seu PC até dentro da VPS

  1. Ver e copiar a chave pública no seu computador.
  2. Entrar na VPS com senha.
  3. mkdir -p ~/.ssh — criar a pasta, se ainda não existir.
  4. nano ~/.ssh/authorized_keys — colar a chave e salvar (CTRL+O, Enter, CTRL+X).

03 Ajustando as permissões

O permissões da pasta e do arquivo precisam estar corretas, ou a VPS ignora a chave por segurança. Ainda dentro da VPS, rode:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Ricardo esqueceu esse passo na primeira tentativa e sua chave simplesmente não funcionou — sem nenhuma mensagem de erro clara. Depois de ajustar as permissões, funcionou de primeira.

Teste-se

Se você pular a etapa do chmod, o que tende a acontecer ao tentar conectar com a chave?

04 Testando a conexão com a chave

Digite exit pra sair da VPS, volte pro seu computador, e conecte de novo — agora indicando qual chave usar, com -i:

ssh -i %USERPROFILE%\.ssh\minha_vps usuario@IP_DA_VPS

Se tudo estiver certo, Marta entra direto, sem nenhuma tela pedindo senha — só a chave já basta.

Antes

Toda conexão pedia a senha, e ela precisava lembrar ou copiar de algum lugar.

Depois

A chave prova quem ela é sozinha — conexão mais rápida e mais segura, sem senha nenhuma.

Pratique agora 0/4 feito

Coloque sua chave na VPS e conecte sem senha

Seguir a sequência completa, do seu computador até a VPS reconhecer sua chave — ~15 min.

Você sempre pode entrar de novo com senha (aula 2) se algo travar aqui — nenhum passo desta prática apaga o acesso por senha que já existe.

type %USERPROFILE%\.ssh\minha_vps.pub
ssh usuario@IP_DA_VPS
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
exit
ssh -i %USERPROFILE%\.ssh\minha_vps usuario@IP_DA_VPS

Você acabou de conseguir entrar na sua VPS só com a chave — o mesmo fluxo que Marta e Ricardo usam todo dia, sem depender de suporte técnico.

Resumo

  • A chave pública é colada dentro de ~/.ssh/authorized_keys, na própria VPS.
  • As permissões (chmod 700 na pasta, chmod 600 no arquivo) são obrigatórias — sem elas, a VPS ignora a chave.
  • Conectar com -i apontando pra chave elimina a necessidade de digitar senha.

Seu próximo passo

Você acabou de conseguir entrar na sua VPS usando só a sua chave, sem senha.

Nos próximos 15 minutos: feche o terminal, abra outro do zero, e conecte de novo com -i, só pra confirmar que funciona de forma repetível.

Na próxima aula, você deixa esse comando ainda mais curto, com um apelido pra sua VPS.

7"> [ {"front":"Aplicação: você acabou de gerar uma chave nova (aula 6). Quais os 4 passos, na ordem, pra ela funcionar na sua VPS?","back":"Copiar a .pub, colar em ~/.ssh/authorized_keys (via nano), ajustar chmod 700/600, testar com ssh -i."}, {"front":"Diagnóstico: você fez tudo certo, mas ao conectar com -i a VPS ainda pede senha. O que checar primeiro?","back":"Confira o chmod: uma pasta ou arquivo aberto demais é a causa mais comum desse sintoma específico."} ]

Trilha · Aula 8

Atalhos com
o arquivo config

Ao fim desta aula você conecta na sua VPS digitando só um apelido, sem repetir IP, usuário e caminho da chave toda vez.

O comando da aula 7 funciona, mas é longo de repetir todo dia. Um arquivo de 4 linhas resolve isso de vez.

role para estudar

01 O problema de repetir sempre a mesma coisa

Todo dia, pra entrar na VPS com a chave, é preciso lembrar (ou copiar de algum lugar) um comando inteiro: usuário, IP e caminho da chave. É fácil errar um caractere no meio disso.

Ricardo mantinha o comando completo anotado num bloco de notas, só pra colar toda vez que precisava — funcionava, mas era um passo extra desnecessário.

02 Criando o arquivo config

No seu computador, dentro da pasta .ssh, você pode criar um arquivo chamado exatamente config (sem nenhuma extensão), com um bloco parecido com este:

Host hostinger
    HostName 123.123.123.123
    User root
    IdentityFile ~/.ssh/minha_vps

Marta cria o dela com o apelido salao, trocando o IP e o usuário pelos da VPS dela mesma.

Erro comum

Esquecer o recuo (espaços) antes de cada linha depois de "Host". O arquivo config segue um formato onde as linhas de baixo do "Host" precisam estar recuadas — sem isso, a conexão pelo apelido não funciona.

03 O que cada linha do arquivo significa

Host é o apelido que você escolhe (o nome que vai digitar). HostName é o IP de verdade da VPS. User é o usuário. IdentityFile aponta pra chave privada que deve ser usada.

Teste-se

No exemplo do Ricardo, qual linha ele precisa trocar pra apontar pra chave que criou na aula 6?

04 Conectando só com o apelido

Depois de salvo o arquivo, o comando de conexão vira só: ssh hostinger — em vez de digitar usuário, IP e caminho da chave toda vez. Marta faz isso hoje em segundos, no meio de um dia cheio de clientes no salão.

Checklist do atalho

  1. Criar (ou abrir) o arquivo config dentro da pasta .ssh.
  2. Escrever o bloco Host / HostName / User / IdentityFile, recuado.
  3. Salvar e testar com ssh <apelido escolhido>.

Pratique agora 0/2 feito

Crie seu próprio atalho de conexão

Escrever o arquivo config e conectar só com o apelido — ~8 min.

O arquivo config só afeta o seu computador, não a VPS — se errar algo, é só reabrir e corrigir, sem risco de travar o servidor.

Host <escolha um apelido>
    HostName IP_DA_SUA_VPS
    User <seu usuario>
    IdentityFile ~/.ssh/minha_vps

Você acabou de reduzir todo o processo de conexão a uma única palavra — o seu apelido.

Resumo

  • O arquivo config, dentro da pasta .ssh, guarda apelidos de conexão.
  • Cada bloco tem 4 linhas: Host (apelido), HostName (IP), User e IdentityFile (chave).
  • Depois de criado, conectar vira só ssh <apelido>.

Seu próximo passo

Você acabou de reduzir sua conexão diária a uma única palavra.

Nos próximos 5 minutos: teste seu apelido de um terminal fechado e reaberto, pra confirmar que ele fica salvo.

Na última aula, você aprende a diagnosticar os erros mais comuns — pra quando algo não sair como o esperado.

8"> [ {"front":"Quais são as 4 linhas que compõem um bloco do arquivo config?","back":"Host (apelido), HostName (IP), User (usuário) e IdentityFile (caminho da chave)."}, {"front":"Diagnóstico: você criou o config certinho, mas ssh apelido diz que não reconhece o host. O que checar primeiro?","back":"O recuo (espaços) nas linhas abaixo de Host — sem o recuo correto, o arquivo não é lido do jeito esperado."}, {"front":"Aplicação: você tem 2 VPS diferentes. Como o arquivo config lida com isso?","back":"Basta criar 2 blocos Host diferentes, um apelido pra cada, cada um com seu próprio HostName/User/IdentityFile."} ]

Trilha · Aula 9

Resolvendo os
erros mais comuns

Ao fim desta aula você diagnostica sozinho os 4 erros de conexão mais frequentes e sabe qual ação tomar em cada um.

Em algum momento, uma conexão vai falhar — é normal, não é sinal de que você fez algo fundamentalmente errado. O que muda tudo é reconhecer a mensagem e já saber por onde começar a investigar.

role para estudar

01 Ler a mensagem de erro é o primeiro passo

O SSH sempre devolve uma mensagem quando algo falha — e essa mensagem já indica a direção certa da investigação. As 4 mais comuns são: Permission denied, Connection timed out, Connection refused, e um erro de "assinatura" mudada.

Marta, na primeira vez que viu Permission denied, achou que tinha quebrado alguma coisa. Não tinha: era só um usuário digitado errado.

02 "Permission denied"

Essa mensagem quer dizer que a conexão chegou até a VPS, mas a autenticação falhou. As causas mais comuns: senha errada, usuário errado, chave errada, a chave pública não foi colocada no authorized_keys, ou as permissões da pasta .ssh estão erradas (aula 7). Foi exatamente essa mensagem que Marta viu na primeira tentativa, por um usuário digitado errado.

Erro comum

"Permission denied" ao tentar conectar com -i pela chave. Antes de suspeitar da chave em si, confira: o arquivo authorized_keys tem exatamente a chave certa colada, e as permissões estão em 700/600.

03 "Connection timed out", "Connection refused" e chave antiga

Connection timed out significa que o pedido nem chegou a uma resposta — geralmente IP errado, VPS desligada, ou uma porta bloqueada por firewall. Connection refused significa que a VPS respondeu dizendo "não" — o serviço SSH pode estar desligado nela, ou a porta usada está errada.

Ricardo recriou a VPS da loja uma vez, e ao tentar conectar de novo recebeu um aviso de que a "assinatura" do servidor tinha mudado — o comando ssh-keygen -R IP_DA_VPS limpa a assinatura antiga guardada e permite conectar de novo, aceitando a nova.

04 Checando o serviço SSH direto na VPS

Se você já está dentro da VPS (por exemplo, entrando com senha depois de uma falha com chave), systemctl status ssh (ou sshd, dependendo do sistema) mostra se o serviço está ativo. Ricardo usou esse comando quando a automação de posts da loja parou de responder, e confirmou que o serviço estava de pé — o problema era outro.

systemctl status ssh
sudo systemctl enable ssh
sudo systemctl start ssh

Checklist final: do zero até conectar com chave

  1. Verificar/instalar SSH no seu computador (aula 2).
  2. Conectar com senha, ao menos uma vez (aula 2).
  3. Criar sua chave (aula 6) e colocá-la na VPS (aula 7).
  4. Criar o atalho no config (aula 8).
  5. Se algo falhar: ler a mensagem de erro e usar este checklist de causas.

Pratique agora 0/2 feito

Diagnostique 2 casos reais

Ler os 2 mini-casos e apontar a causa mais provável de cada um — ~8 min.

É só leitura e raciocínio — nenhuma VPS de verdade é tocada nesta prática.

Caso 1. Marta tenta conectar com ssh -i ~/.ssh/minha_vps admin@45.77.12.9 e recebe Permission denied. Ela confirma que o IP e o usuário estão certos.

Caso 2. Ricardo tenta conectar na VPS da loja e o terminal fica parado por um minuto, até aparecer Connection timed out. Ele confirma no navegador de outro serviço que a VPS está ligada.

ver gabarito comentado

Caso 1: como IP e usuário já foram confirmados, a causa mais provável é a chave pública não estar corretamente colada em authorized_keys, ou as permissões da pasta .ssh/arquivo estarem erradas — o mesmo diagnóstico do step 2 desta aula. Caso 2: "timed out" (sem resposta nenhuma) aponta pra um problema de rede antes mesmo de chegar no SSH — porta bloqueada por firewall é a causa mais comum quando a VPS está confirmadamente ligada.

Você acabou de conseguir diagnosticar problemas de conexão pela mensagem de erro, sem depender de mais ninguém pra entender o que está acontecendo.

Resumo

  • Toda falha de SSH vem com uma mensagem — ela já indica a direção certa de investigação.
  • "Permission denied" é problema de autenticação; "timed out"/"refused" são problema de rede ou serviço desligado.
  • systemctl status ssh, direto na VPS, confirma se o serviço está ativo.

Seu próximo passo

Você acabou de completar a trilha inteira: hoje você conecta, entende chaves, cria a sua, coloca na VPS, cria atalhos e diagnostica erros — sozinho.

Nos próximos 15 minutos: escolha 1 automação sua rodando numa VPS e conecte nela usando o apelido do config, só pra confirmar que todo o fluxo funciona de ponta a ponta.

Da próxima vez que algo travar na sua VPS, você já sabe por onde começar — sem esperar ninguém disponível.

9"> [ {"front":"Diagnóstico: você recebe Connection refused ao tentar conectar. O que isso indica, diferente de um timed out?","back":"A VPS respondeu recusando a conexão (ex.: serviço SSH desligado ou porta errada) — timed out é quando nem chega a haver resposta."}, {"front":"Aplicação: sua VPS foi recriada e agora aparece um aviso de que a assinatura do servidor mudou. O que fazer?","back":"Rodar ssh-keygen -R IP_DA_VPS pra limpar a assinatura antiga, e tentar conectar de novo aceitando a nova."}, {"front":"Decisão: você recebe Permission denied mesmo com IP e usuário confirmados corretos. Por onde começar a investigar?","back":"Pelo authorized_keys (a chave está colada certinho?) e pelas permissões da pasta .ssh (700) e do arquivo (600)."} ]