E15 · Chave no chaveiro
15 minCrie a chave SSH, rode gh auth login escolhendo SSH e teste com ssh -T git@github.com.
Pronto quando: a resposta começa com "Hi" seguido do seu usuário do GitHub.
Aula 8 · 20 min
Salvar, enviar e pôr no ar são três passos e três decisões. Com uma chave SSH e o gh, você envia o projeto ao GitHub, publica a página com um endereço que abre no celular e leva a mesma pasta para uma VPS, onde o agente trabalha mesmo com o seu computador desligado.
Começar a aula
Objetivo: ligar o terminal ao GitHub com chave SSH, publicar a página no GitHub Pages e clonar o projeto numa VPS.
O GitHub é a ponte entre o seu computador, a página e a VPS.
Role a página: cada etapa abaixo acende a sua parte do diagrama.
A chave privada nunca sai daqui. O commit guarda a versão só no seu computador; nada vai para a internet até você decidir enviar.
O push envia as versões. Repositório público: qualquer pessoa vê (e é o que a página grátis exige). Privado: só você e quem você convidar. Você escolhe na hora de criar.
Pôr no ar é uma etapa a mais. Ligado o Pages, cada push atualiza a página em alguns minutos, com um endereço que abre no celular.
Uma sala alugada: o provedor entrega a máquina; usuários, atualizações e programas são com você. Você entra pelo ssh, navega com os nomes do Linux e traz o projeto do GitHub.
O commit fica no seu computador, o push leva ao GitHub e o Pages põe no ar. A VPS pega a mesma versão com git pull. Cada passo é uma decisão sua, com conferência própria.
A chave pública (.pub) é o cadeado: vai para o GitHub e para a VPS. A privada é a chave do chaveiro: fica com você.
Clique em cada etapa.
ssh-keygen já vem no Windows 10 e 11. Ele faz três perguntas: onde guardar e uma senha extra, duas vezes. Enter nas três serve para treino.
Ficam dois arquivos em %USERPROFILE%\.ssh: id_ed25519 (privada, nunca sai dali) e id_ed25519.pub (pública).
Você já tem uma chave: responda n e use a que existe.
Responda: GitHub.com → SSH → escolha id_ed25519.pub → Login with a web browser. Copie o código, cole no navegador e autorize.
ssh -T git@github.com testa a chave; na primeira vez responda yes.
Hi SEU-USUARIO! You've successfully authenticated.
Destino: git remote -v mostra para onde vai. Estado: git status limpo. Versões: git log --oneline mostra o que iria. Segredos: nenhum .env na lista.
Depois de enviado, o conteúdo fica com quem tem acesso ao destino.
Qualquer pessoa vê. Nada de rascunho pessoal nem chave.
ssh root@IP-DA-VPS abre o terminal da VPS na sua janela. O começo da linha muda e termina em # ou $: olhe sempre em que máquina está antes de cada comando.
Lá: ls no lugar de dir, pwd no lugar de cd sozinho, e maiúscula importa.
Mudou o jeito de entrar? Teste numa janela nova antes de fechar a que funciona.
Troque Seu Nome, seu@email.com, SEU-USUARIO e IP-DA-VPS pelos seus.
git config --global user.name "Seu Nome" git config --global user.email "seu@email.com" git config --global --list
ssh-keygen -t ed25519 -C "seu@email.com" explorer %USERPROFILE%\.ssh
gh auth login ssh -T git@github.com
cd %USERPROFILE%\projetos\meu-primeiro-agente git status git branch -M main gh repo create meu-primeiro-agente --public --source=. --push
gh api repos/{owner}/{repo}/pages -X POST -f "source[branch]=main" -f "source[path]=/"git status git add . git commit -m "o que mudou" git push
ssh root@IP-DA-VPS mkdir -p ~/projetos cd ~/projetos apt update && apt install -y git git clone https://github.com/SEU-USUARIO/meu-primeiro-agente.git cd meu-primeiro-agente ls git pull exit
curl -fsSL https://claude.ai/install.sh | bash cd ~/projetos/meu-primeiro-agente claude
C:\Users\ana> ssh -T git@github.com Hi ana-exemplo! You've successfully authenticated, but GitHub does not provide shell access. C:\Users\ana\projetos\meu-primeiro-agente> gh repo create meu-primeiro-agente --public --source=. --push ✓ Created repository ana-exemplo/meu-primeiro-agente on GitHub
Alguns minutos depois de ligar o Pages, a página abre em https://ana-exemplo.github.io/meu-primeiro-agente/.
dir e git log --oneline.git pull e depois git push.Alguém pediu a sua chave "para configurar o acesso": só o id_ed25519.pub. O id_ed25519, sem .pub, nunca sai do seu computador.
Mesma navegação, outros nomes. Olhe o começo da linha.
Missões
203.0.113.10).pwd).mkdir -p ~/projetos).ana-exemplo).cd).ls).Simulação: IP, usuário e códigos são de exemplo (203.0.113.10 é um endereço reservado para documentação).
A página no ar é obrigatória; a VPS, quando você tiver uma.
Crie a chave SSH, rode gh auth login escolhendo SSH e teste com ssh -T git@github.com.
Pronto quando: a resposta começa com "Hi" seguido do seu usuário do GitHub.
Faça a conferência de quatro pontos, crie o repositório público, ligue o Pages e depois mude algo e rode a rotina add, commit e push.
Pronto quando: a página abre no celular em https://SEU-USUARIO.github.io/meu-primeiro-agente/ e a mudança aparece depois do push.
Numa VPS Ubuntu contratada com a sua chave pública, entre com ssh, clone o projeto, mude algo no Windows, dê push e traga com git pull.
Pronto quando: ls na VPS mostra os arquivos e o git pull trouxe a mudança feita no Windows.
Do terminal vazio no Windows ao site no GitHub Pages e ao projeto rodando na VPS.
Escolha a data de início e quanto tempo você tem por semana. O plano distribui os 17 exercícios do curso.
Sobre esta aula e o degrau inteiro.
Pergunta 1 de 4
Alguém pediu a sua chave SSH para "configurar o acesso". Qual arquivo você pode entregar?competência
Pergunta 2 de 4
Você deu git commit. A versão já está no GitHub?
Pergunta 3 de 4
Antes de um push para um repositório público, o que você confere?
git remote -v, git status, git log --oneline e nenhum .env ou chave. Público, qualquer pessoa vê.git remote -v, git status, git log --oneline e nenhum .env ou chave. Público, qualquer pessoa vê.Rever: Do commit à página no arPergunta 4 de 4
Na VPS, a linha começa com root@minha-vps:~#. Onde você está?
~ é a pasta pessoal; no Windows a linha começaria com C:\Users\.~ é a pasta pessoal; no Windows a linha começaria com C:\Users\.Rever: Ensaie: o projeto na VPSEscolha uma alternativa. A explicação aparece depois da sua tentativa.