Reunimos um guia passo a passo para obter a configuração do Git para Windows usando o aplicativo Plink do PuTTY para autenticação SSH.
Siga abaixo:
Configuração
Instale o putty.zip, que está disponível na página de download do PuTTY ou você pode fazer o download individualmente.
PuTTY: putty.exe (ou por FTP )
O cliente SSH e Telnet em si.
Plink: plink.exe (ou por FTP )
Uma interface de linha de comando para os back-ends PuTTY.
Pageant: pageant.exe (ou por FTP )
Um agente de autenticação SSH para PuTTY, PSCP, PSFTP e Plink.
PuTTYgen: puttygen.exe (ou por FTP )
Um utilitário de geração de chaves RSA e DSA.
Gere chaves RSA e PPK
- Usando o Git Bash, use
ssh-keygen
para gerar um par de chaves públicas / privadas RSA. Mais informações sobre como fazer isso podem ser encontradas no artigo oficial Gerando chaves SSH .
- No PuTTYgen, importe sua
~/.ssh/id_rsa
chave (privada) existente , via Conversions→ Import key.
- Salve a chave importada usando o Save private keybotão como
~/.ssh/id_rsa.ppk
.
Agora você deve ter as seguintes chaves no seu ~/.ssh
diretório:
id_rsa
: Chave RSA privada (OpenSSH)
id_rsa.pub
: Chave pública (OpenSSH) RSA
id_rsa.ppk
: Chave privada (PuTTY)
Instale o Git para Windows .
Certifique-se de escolher o Plink.
Nota: Se você já instalou o Git, basta executar o instalador novamente e definir o Plink como seu aplicativo SSH padrão.
Defina os caminhos do seu ambiente.
- No Painel de Controle , navegue até a exibição Sistema.
- Escolha Configurações avançadas do sistema .
- Na janela Propriedades do sistema , clique no ícone Avançado guia .
- Clique Environment variables… .
Adicione as seguintes variáveis do sistema (se ainda não estiverem definidas):
GIT_HOME
: C:\Program Files\Git
GIT_SSH
: C:\Program Files (x86)\PuTTY\plink.exe
Anexe o diretório binário do Git ao caminho do sistema.
Path
: %Path%;%GIT_HOME%\bin
Abra o Pageant e carregue a chave ppk localizada em ~/.ssh/id_rsa.ppk
.
Nota: Após o início do Pageant, você pode clicar no ícone na bandeja do sistema localizada na barra de tarefas, ao lado da hora, à direita.
Abra o Putty e conecte-se para testar sua conexão via SSH e adicione a chave do servidor como um host conhecido.
Exemplos de nomes de host:
- GitHub:
git@github.com:22
(ou via ssh-agentssh -Tv git@github.com
)
- BitBucket:
git@bitbucket.org:22
(ou via ssh-agent ssh -Tv git@bitbucket.org
)
Inicie o Git Bash.
Você deve poder empurrar e puxar do host remoto sem inserir uma senha a cada vez.
Atalho
Você pode colocar um atalho no diretório de inicialização para carregar automaticamente sua chave sempre que fizer login na sua conta do Windows.
Via Script de lote
Esta ideia foi inspirada por uma resposta a esta pergunta:
Superusuário: Como criar um atalho do CMD? .
REM |==================================================================|
REM | Pageant Autoload.bat |
REM | |
REM | This script creates a shortcut for auto-loading a PPK (key) in |
REM | Pageant by writing a temporary VB script and executing it. The |
REM | following information below is added to the shortcut. |
REM | |
REM | Filename : Pageant Autoload |
REM | Target : pageant.exe |
REM | Arguments : id_rsa.ppk |
REM | Start in : ~/.ssh |
REM |==================================================================|
@echo off
REM |==================================================================|
REM | Global Values - Do not touch these! |
REM |==================================================================|
SET VBSCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
SET STARTUP_DIR=Microsoft\Windows\Start Menu\Programs\Startup
SET STARTUP_USER_DIR=%APPDATA%\%STARTUP_DIR%
SET STARTUP_ALL_USERS_DIR=%PROGRAMDATA%\%STARTUP_DIR% REM Alternative
REM |==================================================================|
REM | Shortcut Values - You can change these to whatever you want. |
REM |==================================================================|
SET FILENAME=Pageant Autoload.lnk
SET TARGET=%PROGRAMFILES(x86)%\PuTTY\pageant.exe
SET ARGUMENTS=id_rsa.ppk
SET START_IN=%%USERPROFILE%%\.ssh
SET DESCRIPTION=Autoload PuTTY key with Pageant on startup (Ctrl+Alt+S)
SET HOTKEY=CTRL+ALT+S
REM |==================================================================|
REM | Write a new VB script, on the fly; execute and delete it. |
REM |==================================================================|
ECHO Set oWS = WScript.CreateObject("WScript.Shell") >> %VBSCRIPT%
ECHO sLinkFile = "%STARTUP_USER_DIR%\%FILENAME%" >> %VBSCRIPT%
ECHO Set oLink = oWS.CreateShortcut(sLinkFile) >> %VBSCRIPT%
ECHO oLink.TargetPath = "%TARGET%" >> %VBSCRIPT%
ECHO oLink.Arguments = "%ARGUMENTS%" >> %VBSCRIPT%
ECHO oLink.WorkingDirectory = "%START_IN%" >> %VBSCRIPT%
ECHO oLink.Description = "%DESCRIPTION%" >> %VBSCRIPT%
ECHO oLink.HotKey = "%HOTKEY%" >> %VBSCRIPT%
ECHO oLink.Save >> %VBSCRIPT%
CScript //Nologo %VBSCRIPT%
DEL %VBSCRIPT% /f /q
Via Windows Explorer
Navegue para o diretório de inicialização no Windows Explorer.
O Startup/
diretório do usuário (preferencial) está localizado em:
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup
O Startup/
diretório Todos os usuários está localizado em:
%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
Clique com o botão direito do mouse dentro da pasta e selecione New→Shortcut
Na caixa de diálogo Criar atalho , insira as seguintes informações.
- Localização:
"C:\Program Files (x86)\PuTTY\pageant.exe"
- Nome:
Pageant Autoload
Clique com o botão direito do mouse no novo atalho e escolha Propertiesno menu de contexto.
Modifique os seguintes campos na guia Atalho :
- Alvo:
"%PROGRAMFILES(x86)%\PuTTY\pageant.exe" id_rsa.ppk
- Começar:
%USERPROFILE%\.ssh
Notas:
Se você estiver usando um sistema operacional Windows de 32 bits, use a %PROGRAMFILES%
variável de ambiente em vez de %PROGRAMFILES(x86)%
.
Se você colocou o atalho no diretório de inicialização Todos os usuários, verifique se o usuário atual possui uma id_rsa.ppk
chave no ~/.ssh
diretório ou a chave não será carregada automaticamente.
Comentários finais
Lá está você. Na próxima vez que você fizer login no seu perfil do Windows, você será recebido com um prompt do Pageant para inserir a senha da sua chave. Se você não definiu uma senha para sua chave, ela deverá ser carregada automaticamente sem aviso prévio.
Se você não tiver certeza se a chave carregada, visualiza as chaves atuais no Pageant, selecionando Exibir chaves no menu de contexto do Pageant na bandeja do sistema.