Como utilizar chaves SSH com o PuTTY no Windows
O cliente PuTTY SSH para Microsoft Windows não utiliza o mesmo formato de chave que o cliente OpenSSH. Se pretender utilizar o PuTTY, terá de criar uma nova chave pública e privada SSH utilizando a ferramenta PuTTYgen ou converter uma chave privada OpenSSH já existente.
O protocolo SSH (Secure Shell) pode gerir a autenticação através de uma combinação tradicional de nome de utilizador e palavra-passe ou utilizando um par de chaves pública e privada. A combinação de chaves SSH estabelece a ligação de segurança entre o cliente e o servidor, eliminando assim a necessidade de utilizar uma palavra-passe durante a autenticação.
Requisitos
- Cliente PuTTY SSH para Microsoft Windows
- Servidor remoto acessível através do OpenSSH
Instalação do PuTTY e do PuTTYgen
Tanto o PuTTY como o PuTTYgen são ferramentas necessárias para gerar chaves OpenSSH e estabelecer ligação ao servidor através do SSH. Estas duas utilidades podem ser descarregadas individualmente ou, de preferência, através de um instalador para Windows a partir da página de descargas do PuTTY.
Depois de descarregar o instalador do PuTTY para Windows, clique duas vezes no ficheiro executável na pasta de downloads e siga as instruções do assistente de instalação. A configuração padrão é a mais adequada para a maioria das instalações. Tanto o PuTTY como o PuTTYgen deverão agora estar acessíveis a partir da lista de programas do Windows.
Utilizar chaves públicas e privadas existentes
Se já tiver uma chave pública e privada do OpenSSH, copie a chave id_rsa para o seu ambiente de trabalho do Windows. Pode fazê-lo copiando e colando o conteúdo do ficheiro ou utilizando um cliente SCP como o PSCP, que está incluído na instalação do PuTTY, ou o FileZilla.
Em seguida, inicie o PuTTYgen a partir da lista de programas do Windows.
- Clique em «Conversions» no menu do Gerador de Chaves do PuTTY e selecione «Import key».
- Navegue até à chave privada do OpenSSH e clique em «Abrir».
- Em “Actions” / “Save the generated key”, selecione “Save private key2”.
- Escolha uma frase-passe opcional para proteger a chave privada.
- Guarde a chave privada no ambiente de trabalho como “id_rsa.ppk”.

Se a chave pública já estiver adicionada ao ficheiro «authorized_keys» do servidor SSH remoto, avance para a ligação ao servidor com a chave privada.
Caso contrário, copie a chave pública para o servidor.
Criar novas chaves públicas e privadas
Inicie o PuTTYgen a partir da lista de programas do Windows e siga os passos abaixo.
- Em «Parameters», aumente o «Number of bits in a generated key:» para um valor mínimo de 2048.
- Em “Actions” / “Generate a public/private key pair”, clique em “Generate”.
- Ser-lhe-á solicitado que mova o cursor do rato aleatoriamente dentro da janela do PuTTY Key Generator para gerar a chave privada.
- Assim que as informações da chave aparecerem, clique em “Save private key” em “Actions” / “Save the generated key”.
- Guarde a chave privada no ambiente de trabalho como “id_rsa.ppk”.
- Na caixa “Key” / “Public key for pasting into OpenSSH authorized_keys file:” aparece a chave pública.

Copiar a chave pública para o servidor
A chave pública do OpenSSH encontra-se na secção «Chave pública para inserir no ficheiro authorized_keys do OpenSSH», no campo «Chave»: a chave pública começa por ssh-rsa, seguida de uma sequência de caracteres.
- Selecione toda a chave pública no PuTTY Key Generator e copie o texto.
- Inicie o PuTTY e inicie sessão no servidor remoto com as suas credenciais de utilizador existentes.
- Utilize o seu editor de texto preferido para criar e/ou abrir o ficheiro authorized_keys:
vi ~/.ssh/authorized_keys- Cole a chave pública no ficheiro authorized_keys.
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBp2eUlwvehXTD3xc7jek3y41n9fO0A+TyLqfd5ZAvuqrwNcR2K7UXPVVkFmTZBes3PNnab4UkbFCki23tP6jLzJx/MufHypXprSYF3x4RFh0ZoGtRkr/J8DBKE8UiZIPUeud0bQOXztvP+pVXT+HfSnLdN62lXTxLUp9EBZhe3Eb/5nwFaKNpFg1r5NLIpREU2H6fIepi9z28rbEjDj71Z+GOKDXqYWacpbzyIzcYVrsFq8uqOIEh7QAkR9H0k4lRhKNlIANyGADCMisGWwmIiPJUIRtWkrQjUOvQgrQjtPcofuxKaWaF5NqwKCc5FDVzsysaL5IM9/gij8837QN7z rsa-key-20141103- Guarde o ficheiro e feche o editor de texto.
- Ajuste as permissões do ficheiro authorized_keys para que o ficheiro não permita permissões de escrita ao grupo.
chmod 600 ~/.ssh/authorized_keys- Saia do servidor remoto.
Ligar-se ao servidor com a chave privada
Chegou a hora de testar a autenticação com chave SSH. Podes fechar a ferramenta PuTTYgen e voltar a iniciar o PuTTY.
- Introduza o nome do host ou o endereço IP do servidor remoto em «Session».
- Navegue até “Connection” > “SSH” > “Auth”.
- Clique em “Browse…” em “Authentication parameters” / “Private key file for authentication”.
- Localize a chave privada “id_rsa.ppk” e clique em “Open”.
- Por fim, clique novamente em “Open” para iniciar sessão no servidor remoto com a autenticação do par de chaves.
