O SSH (Secure Socket Shell), também conhecido como Secure Shell, é um protocolo que garante conexão segura entre o cliente e o servidor remoto. Toda a transmissão de dados é criptografada quando utilizamos o protocolo SSH. Um servidor SSH, por padrão, escuta na porta 22 do Protocolo de Controle de Transmissão (TCP) padrão.
Podemos utilizar o SSH para conectar em nossa conta do Github, assim, eliminando a necessidade de fornecer usuário e senha sempre que for enviar alterações para o nosso repositório remoto.
Iremos realizar a configuração no sistema operacional Ubuntu Linux
Caso não tenha nenhuma chave SSH criada, precisamos criar uma.
Para verificar se já existe chave criada:
ls -al ~/.ssh
No nosso caso ainda não temos nenhuma chave configurada:
Para gerar a chave SSH local vamos executar o comando:
ssh-keygen -t rsa -b 4096 -C "email-do-git@dominio.com"
Obs.: Substituir o e-mail do comando por seu e-mail do Github
Em Enter a file in which to save the key pressione Enter
Em Enter passphrase digite uma senha de sua escolha
Para verificar a chave criada, iremos digitar o mesmo comando utilizado no início:
Agora é possível observar que a chave é exibida na saída do comando.
Agora iremos iniciar o ssh-agent utilizando o comando:
eval "$(ssh-agent -s)"
Adicionar a chave SSH para o SSH Agent:
ssh-add ~/.ssh/id_rsa
Se a chave foi gerada com outro nome, basta alterar para o nome correto.
Agora precisamos copiar a chave pública para configurar no Github e iremos utilizar o xclip.
Para instalar o xclip:
sudo apt-get install xclip
Para copiar a chave pública basta executar o comando:
xclip -sel clip < ~/.ssh/id_rsa.pub
O próximo passo é abrir o Github para configurar a chave copiada.
- Acessar a conta do GitHub
- Clicar em Settings
- Clicar na opção SSH and GPG keys
- Clicar em New SSH key
- Adicionar um nome no campo Title e em Key colar a chave pública que foi copiada utilizando o comando xclip
- Clicar em Add SSH key
Chave pública configurada:
Para testar a conexão abra o terminal e execute:
ssh -T git@github.com