> For the complete documentation index, see [llms.txt](https://cumbucadev.gitbook.io/github-essentials/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cumbucadev.gitbook.io/github-essentials/dia-9/conectando-o-seu-computador-ao-github.md).

# Conectando o seu Computador ao GitHub

Antes de aprendermos a usar os comandos do Git para interagir com repositórios remotos, é preciso dar o primeiro passo: **permitir que a sua máquina se comunique com o GitHub**.

Essa comunicação acontece por meio de um tipo de conexão. Mas só estabelecer a conexão não basta: para que o GitHub permita que você faça ações importantes (como copiar arquivos ou enviar mudanças), ele precisa confirmar quem você é. Esse processo de provar sua identidade se chama **autenticação**.

A autenticação é necessária para garantir que apenas você possa acessar e modificar seus repositórios, impedindo que outras pessoas façam alterações sem permissão. Ou seja: primeiro você estabelece uma conexão com o GitHub e, em seguida, o serviço verifica sua identidade antes de autorizar qualquer ação sensível.

## Tipos de conexão com o GitHub

Seu computador pode conversar com o GitHub de duas maneiras:

#### HTTPS

* É o mesmo tipo de conexão usada ao navegar na internet.
* A autenticação é feita digitando:
  * seu usuário e senha **ou**
  * um **token** (uma senha especial gerada pelo GitHub).
* Fácil de configurar, mas costuma pedir autenticação com mais frequência.

#### SSH

* É um tipo de conexão segura muito comum entre computadores.
* Funciona como um crachá de acesso: você configura uma vez e pronto, sua máquina passa a ser reconhecida automaticamente.

Neste curso, vamos usar **SSH**, porque ele facilita bastante o dia a dia. Mas é importante saber que ambas as opções existem, porque dependendo do seu ambiente ou das políticas da sua equipe, pode ser necessário usar HTTPS em vez de SSH.

## O que é uma conexão SSH?

SSH (Secure Shell) é um sistema que permite a comunicação segura entre dois computadores. Imagine que é como um túnel protegido entre sua máquina e um servidor, garantindo que ninguém mais possa ver ou modificar os dados que estão sendo trocados.

No contexto do GitHub, uma conexão SSH permite que seu computador fale com o servidor do GitHub de forma segura, sem precisar digitar credenciais toda vez. Isso é feito através de um par de chaves.

### O que são as chaves SSH?

As chaves SSH funcionam como o registro de um crachá de acesso digital para sua máquina. Pense em um prédio com segurança na entrada: para entrar sem precisar se identificar a cada vez, você recebe um crachá. Esse crachá tem duas partes:

* **Parte que fica com você (chave privada)**: Assim como um crachá físico que você carrega no bolso, a chave privada fica armazenada no seu computador e nunca deve ser compartilhada.
* **Parte registrada na portaria (chave pública)**: Para que você possa entrar no prédio sem problemas, seu crachá precisa estar registrado na recepção. No caso do GitHub, isso significa adicionar sua chave pública à sua conta.

Quando você tenta se conectar ao GitHub via SSH, ele verifica se a "portaria" (o GitHub) tem o registro da sua chave pública e se ela corresponde à chave privada que está com você. Se tudo estiver certo, você entra sem precisar digitar senha.

As chaves SSH são, na verdade, apenas arquivos de texto com um conteúdo aparentemente embaralhado. A chave privada geralmente fica salva no seu computador em um arquivo chamado `id_rsa` (ou similar), enquanto a chave pública fica em outro arquivo chamado `id_rsa.pub`. O conteúdo da chave pública começa com `ssh-rsa` e continua com uma longa sequência de caracteres aleatórios.

## **Configurando uma conexão SSH com o GitHub**

### Gerando uma nova chave SSH e adicionando-a ao agente SSH

A primeira parte para fazer a conexão com o GitHub é gerar o seu crachá (chave privada) e o seu registro que futuramente será adicionado à portaria (chave pública).

Além disso, é necessário adicionar a chave ao **agente SSH**, que é um programa que guarda sua chave privada em memória para que você não precise digitá-la toda vez que for se conectar ao GitHub. É como se fosse um chaveiro que mantém seu crachá sempre pronto para ser usado.

Para completar essas duas etapas, siga os passos da documentação oficial, se atentando para selecionar o sistema operacional correto.

{% embed url="<https://docs.github.com/pt/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent>" %}

### Adicionar uma nova chave SSH à sua conta do GitHub

Agora iremos cadastrar o registro do crachá criado à portaria do GitHub.

Para isso, siga os passos da documentação oficial, se atentando para selecionar o sistema operacional correto.

{% embed url="<https://docs.github.com/pt/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account?tool=webui>" %}

### Testar a conexão SSH

Agora é hora de verificar se seu crachá está funcionando e se você passa na portaria.

Para isso, siga os passos da documentação oficial, se atentando para selecionar o sistema operacional correto.

{% embed url="<https://docs.github.com/pt/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection>" %}

***

Agora que você configurou sua chave SSH e testou a conexão, seu ambiente está pronto para **conectar repositórios** com segurança e praticidade. Isso significa que você poderá trazer projetos do GitHub para sua máquina ou enviar alterações de um projeto local para o GitHub sem precisar digitar usuário e senha repetidamente. Se algum dia você trocar de computador ou precisar configurar outro dispositivo, basta repetir o processo: gerar uma nova chave e registrá-la no GitHub.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cumbucadev.gitbook.io/github-essentials/dia-9/conectando-o-seu-computador-ao-github.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
