Curso
Cansado de digitar sua senha toda vez que você se conecta a um servidor remoto ou a um repositório do GitHub?
As chaves SSH são o que você está procurando. Eles oferecem uma alternativa segura e conveniente à autenticação baseada em senha quando você deseja acessar sistemas remotos. As chaves SSH também oferecem segurança mais forte do que as senhas, pois são praticamente impossíveis de serem descobertas por meio de ataques de força bruta.
Ao longo dos anos, eles se tornaram o padrão para conexões remotas seguras em ambientes profissionais. Eles são essenciais para qualquer pessoa que trabalhe com servidores remotos, serviços em nuvem ou sistemas de controle de versão como o Git.
Neste artigo, você aprenderá a gerar chaves SSH, adicioná-las a sistemas remotos e implementar práticas recomendadas para gerenciá-las com segurança.
O que são chaves SSH?
As chaves SSH são credenciais criptográficas que permitem que você acesse sistemas remotos com segurança sem digitar senhas. Assim, em vez de memorizar senhas complexas com números, letras maiúsculas e caracteres especiais, você cria um par de chaves, uma pública e outra privada.
Pense na sua chave pública como um cadeado que você pode distribuir livremente para qualquer servidor que queira acessar. Suachave privada funciona como a chave exclusiva que abre esses cadeados. Quando você se conecta a um sistema remoto, ele verifica se a sua chave privada corresponde à chave pública armazenada. Se corresponderem, você terá acesso instantâneo sem precisar digitar uma senha.
A chave pública não pode ser usada para determinar sua chave privada, o que torna esse sistema extremamente seguro. Sua chave privada deve permanecer secreta e ficar no seu computador, portanto, nunca a compartilhe com ninguém.
> Para entender melhor como as conexões seguras se encaixam no cenário mais amplo da segurança cibernética, explore oo curso Introdução à segurança de dados.
Quando se trata de benefícios em comparação com a autenticação por senha tradicional, estes são os que você deve conhecer:
- Segurança aprimorada - Ao contrário das senhas, as chaves SSH não podem ser adivinhadas ou forçadas por força bruta devido ao seu comprimento e complexidade (normalmente 2048 bits ou mais).
- Maior praticidade - Depois de configurado, você pode se conectar aos servidores sem precisar digitar senhas todas as vezes.
- Fácil de automatizar - Perfeito para scripts e processos automatizados que precisam de autenticação segura.
- Gerenciamento de acesso centralizado - Adicione ou revogue o acesso simplesmente gerenciando as chaves públicas em seus servidores.
- Você não precisa mais se cansar de usar senhas - Você não precisa criar, lembrar ou alterar periodicamente senhas complexas.
As chaves SSH funcionam com praticamente qualquer sistema compatível com SSH, incluindo servidores Linux, plataformas em nuvem e repositórios de código como GitHub e GitLab. Eles se tornaram o padrão para acesso remoto seguro em ambientes profissionais.
> Para os profissionais da nuvem, dominar a segurança e a eficiência de custos é fundamental - você pode aprender mais no curso Segurança e gerenciamento de custos da AWS.Saiba mais no curso AWS Security and Cost Management.
Agora você sabe o que são chaves SSH, portanto, a seguir, você aprenderá a gerá-las.
Como gerar chaves SSH
A criação de chaves SSH leva apenas alguns minutos, independentemente do seu sistema operacional.
O processo gera dois arquivos: sua chave privada (que deve permanecer segura em seu computador) e sua chave pública (que você adicionará aos servidores remotos).
Geração de chaves SSH no Linux/MacOS
Para criar chaves SSH no Linux ou no MacOS, você usará o comando incorporado ssh-keygen
. Para começar, abra o terminal e digite:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Esse comando diz ao sistema para criar uma nova chave RSA com criptografia de 4096 bits (muito segura) e adicionar seu e-mail como um comentário para identificação.
Seu sistema perguntará onde você deve salvar a chave e se deve adicionar uma frase secreta. O local padrão funciona bem para a maioria dos usuários, mas vale a pena considerar afrase secreta .
Uma boa frase secreta adiciona uma camada extra de segurança - mesmo que alguém obtenha seu arquivo de chave privada, não poderá usá-lo sem conhecer essa frase.
Imagem 1 - Criação de par de chaves SSH no Linux/macOS
Depois de confirmar suas escolhas, o sistema criará as duas chaves no diretório .ssh
da sua pasta pessoal:
- Sua chave privada: O arquivo sem extensão (como
id_rsa
). - Sua chave pública: O arquivo com extensão
.pub
(comoid_rsa.pub
).
Imagem 2 - Arquivos-chave criados
Geração de chaves SSH no Windows
Os usuários do Windows têm duas boas opções para criar chaves SSH: Git Bash e WSL.
O Git Bash oferece uma experiência de linha de comando semelhante à do Linux/MacOS. Se você instalou o Git para Windows, já tem essa ferramenta. Abra o Git Bash e use o mesmo comando ssh-keygen
mostrado acima.
Windows Subsystem for Linux (WSL) é outra boa opção se você preferir trabalhar em um ambiente Linux em sua máquina Windows. Os comandos funcionam exatamente da mesma forma que em um sistema Linux nativo.
Para aqueles que preferem uma interface gráfica, o PuTTYgenoferece uma abordagem mais visual.
Imagem 3 - Geração de chave PuTTYgen no Windows
Aqui estão as etapas que você deve seguir para criar seu par de chaves:
- Inicie o PuTTYgen no menu Iniciar.
- Selecione RSA como tipo de chave.
- Clique em "Generate" (Gerar) e mova o mouse na área em branco.
- Adicione uma frase secreta para aumentar a segurança.
- Salve suas chaves públicas e privadas usando os botões dedicados.
Imagem 4 - Arquivos-chave criados (2)
Entendendo os principais arquivos
O processo de geração de chaves SSH cria dois arquivos que funcionam como um par.
Sua chave privada deve permanecer secreta e segura em seu computador. Pense nela como uma chave mestra que comprova sua identidade. As chaves privadas são normalmente nomeadas de forma semelhante a esta:
id_ed25519
(para chaves Ed25519).id_rsa
(para chaves RSA).
Sua chave pública pode ser compartilhada livremente com qualquer sistema que você queira acessar. Ele funciona como uma fechadura que somente sua chave privada pode abrir. As chaves públicas sempre têm o mesmo nome da chave privada correspondente, além de uma extensão .pub
.
A segurança desse sistema depende inteiramente de você manter sua chave privada protegida.
Nunca o compartilhe, envie por e-mail ou armazene-o em dispositivos não confiáveis. Se você acredita que sua chave privada foi comprometida, gere um novo par imediatamente e atualize todos os servidores que tinham sua chave pública antiga.
Você pode visualizar o conteúdo da sua chave pública com:
cat ~/.ssh/id_rsa.pub
Imagem 5 - Conteúdo da chave pública
A saída mostra a cadeia de caracteres completa de que você precisará ao configurar servidores remotos, que analisaremos na próxima seção.
Como adicionar chaves SSH a sistemas remotos
Agora que você criou seu par de chaves SSH, precisa adicionar sua chave pública a cada sistema remoto que deseja acessar. Em linguagem simples, esse processo diz ao servidor remoto para reconhecer sua chave privada como uma forma válida de autenticação.
Adicionar chaves públicas a um servidor remoto
Não há muito a fazer nesse processo; você só precisa adicionar sua chave pública a um arquivo especial no servidor remoto. Esse arquivo, chamado authorized_keys
, contém uma lista de chaves públicas que têm permissão para se conectar.
A maneira mais simples de adicionar sua chave é com o comando ssh-copy-id
:
ssh-copy-id username@remote_host
Esse comando se conecta ao servidor remoto, cria os diretórios necessários, se eles não existirem, e adiciona sua chave pública ao arquivo authorized_keys
. Você precisará digitar sua senha uma última vez durante esse processo.
Imagem 6 - Conteúdo do arquivo authorized_keys
Se o seu sistema não tiver o comando ssh-copy-id
, você pode realizar a mesma tarefa manualmente, mas isso envolve algumas etapas.
Siga estas instruções e execute os comandos um a um:
# Display your public key and copy it
cat ~/.ssh/id_rsa.pub
# Connect to your remote server with password authentication
ssh username@remote_host
# Create the .ssh directory if it doesn't exist
mkdir -p ~/.ssh
# Open or create the authorized_keys file and paste your public key
echo "your_copied_public_key" >> ~/.ssh/authorized_keys
E é isso!
Para servidores em que você precisa fornecer sua chave a um administrador do sistema, basta enviar a ele o conteúdo do seu arquivo de chave pública. Eles o adicionarão ao servidor para você.
Configuração do SSH para autenticação de chave
Depois de adicionar a chave pública, talvez você queira configurar o servidor SSH para aumentar ainda mais a segurança. Essas etapas exigem privilégios administrativos (sudo
).
Para editar a configuração do servidor SSH, abra o arquivo de configuração principal:
sudo nano /etc/ssh/sshd_config
Imagem 7 - Conteúdo do arquivo sshd_config
Nesse arquivo, você pode fazer alguns aprimoramentos de segurança:
- Defina
PasswordAuthentication no
para desativar totalmente os logins com senha. - Verifique se o endereço
PubkeyAuthentication yes
está definido (geralmente está ativado por padrão). - Considere a possibilidade de configurar o site
PermitRootLogin prohibit-password
para impedir o login do root com senhas.
Depois de fazer as alterações, lembre-se de reiniciar o serviço SSH para aplicá-las:
sudo systemctl restart sshd
Também vale a pena observar que as permissões corretas dos arquivos são cruciais para que a autenticação da chave SSH funcione. O servidor SSH é muito específico em relação à segurança e rejeitará conexões se as permissões forem muito abertas. Certifique-se de que seus arquivos tenham essas permissões:
- Seu diretório inicial:
chmod 755 ~
. - O diretório
.ssh
:chmod 700 ~/.ssh
. - O arquivo
authorized_keys
:chmod 600 ~/.ssh/authorized_keys
.
Com a chave pública instalada e o servidor configurado corretamente, agora você pode se conectar a servidores remotos sem digitar sua senha.
Na próxima seção, mostrarei a você como usar suas chaves SSH para autenticação.
Como usar chaves SSH para autenticação
Agora você está pronto para aproveitar a conveniência e a segurança da autenticação sem senha. Vamos examinar como você pode se conectar a servidores e repositórios de código usando suas chaves SSH.
Conectando-se a um servidor remoto com autenticação de chave SSH
A conexão a um servidor com chaves SSH funciona exatamente como o acesso SSH normal, mas sem a solicitação de senha. Abra o terminal e use o comando SSH padrão:
ssh username@hostname
Se você armazenou sua chave no local padrão (~/.ssh/id_rsa
), o SSH a encontrará e a utilizará automaticamente. Se você definir uma frase secreta ao criar a chave, precisará digitá-la, mas somente uma vez por sessão.
Para chaves armazenadas em locais não padrão, especifique o caminho com o sinalizador -i
:
ssh -i ~/path/to/your/private_key username@hostname
Imagem 8 - Conectando-se a um servidor remoto via SSH
Digitar a senha toda vez que você se conecta pode se tornar entediante. É nesse ponto que oagente SSH é útil. Eles são executados em segundo plano e mantêm com segurança suas chaves privadas descriptografadas na memória, de modo que você só precisa digitar a frase secreta uma vez.
Para iniciar o agente SSH e adicionar sua chave, você deve usar o agente SSH:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Imagem 9 - Agente SSH
Você digitará sua frase secreta uma vez e o agente cuidará da autenticação para todas as outras conexões durante a sessão. Isso é útil quando você precisa se conectar a servidores várias vezes ou quando usa aplicativos que estabelecem várias conexões SSH.
No macOS, o agente SSH é iniciado automaticamente, e você pode ativar a opção "lembrar frase secreta no chaveiro" durante a primeira conexão para evitar reinseri-lo em sessões futuras. Infelizmente, esse recurso é específico apenas do macOS.
Usando chaves SSH para autenticação do GitHub/GitLab
Serviços como o GitHub e o GitLab também oferecem suporte à autenticação por chave SSH e a recomendam em vez da autenticação baseada em senha.
Para adicionar sua chave SSH ao GitHub, comece abrindo o GitHub e fazendo login na sua conta. Em seguida, clique na foto do seu perfil no canto superior direito e selecione "Settings" (Configurações). Na barra lateral, clique em "SSH and GPG keys" (Chaves SSH e GPG):
Imagem 10 - Configuração da autenticação do GitHub (1)
Clique em "New SSH key" (Nova chave SSH), dê um título descritivo à sua chave, cole sua chave pública no campo "Key" (Chave) e, por fim, clique em "Add SSH key" (Adicionar chave SSH):
Imagem 11 - Configuração da autenticação do GitHub (2)
Quando tudo estiver pronto, você verá uma mensagem de sucesso informando que a chave foi adicionada à sua conta:
Imagem 12 - Configuração da autenticação do GitHub (3)
Depois de adicionar sua chave, você pode clonar, extrair e enviar para repositórios usando URLs SSH em vez de URLs HTTPS. Esse é o comando que você usará:
git clone git@github.com:username/repository.git
Imagem 13 - Clonagem de um repositório por SSH
Isso é tudo o que você precisa fazer. O processo para o GitLab é muito semelhante.basta procurar por chaves SSH nas configurações de sua conta.
Recapitulando, usar o SSH para operações do Git significa que você não precisará digitar seu nome de usuário e senha sempre que interagir com o repositório remoto. Sua chave SSH fornece autenticação segura automaticamente.
Se você trabalha com vários serviços (como o GitHub e o GitLab), pode considerar a criação de chaves separadas para cada serviço. Essa abordagem melhora a segurança ao limitar a exposição se uma chave for comprometida.
> Para se aprofundar no gerenciamento de repositórios, confiravocê pode conferir Conceitos intermediários do GitHub.
Gerenciando chaves SSH
Como você usa chaves SSH em vários sistemas e serviços, mais cedo ou mais tarde precisará de uma maneira de gerenciá-las.
Nesta seção, mostrarei a você o que é necessário para manter o controle das chaves existentes, remover chaves antigas ou comprometidas e solucionar possíveis problemas.
Visualização e listagem de chaves SSH
Você pode visualizar todas as suas chaves SSH verificando o diretório .ssh
na sua pasta pessoal. Esse diretório contém suas chaves privadas e as chaves públicas correspondentes.
Execute o seguinte comando para listar todos os arquivos em seu diretório SSH:
ls -la ~/.ssh
Imagem 14 - Todos os arquivos no diretório .ssh
Esse comando mostra todos os arquivos do diretório, inclusive os ocultos. Normalmente, você verá arquivos como:
id_rsa
- Sua chave RSA privada.id_rsa.pub
- Sua chave RSA pública.known_hosts
- Uma lista de servidores aos quais você se conectou.authorized_keys
- Chaves públicas que podem acessar esse computador (se ele estiver configurado como um servidor).config
- Sua configuração de cliente SSH (se você tiver criado uma).
Se tiver criado várias chaves para serviços diferentes, você verá pares de chaves adicionais com os nomes que especificou durante a criação.
Para verificar o conteúdo de uma chave pública específica, execute o seguinte comando:
cat ~/.ssh/id_rsa.pub
Imagem 15 - Conteúdo da chave pública
Isso exibe a chave pública completa, que começa com ssh-rsa
e termina com seu comentário (geralmente seu endereço de e-mail).
Remoção de chaves SSH
Com o tempo, talvez você precise remover as chaves SSH por diferentes motivos: talvez esteja atualizando para um tipo de chave mais forte, um dispositivo foi perdido ou você não precisa mais acessar determinados sistemas.
Para remover chaves de um servidor remotovocê precisará editar o arquivo authorized_keys
:
# Connect to the remote server
ssh username@remote_host
# Open the authorized_keys file:
nano ~/.ssh/authorized_keys
Para o GitHub e o GitLaba remoção de chaves é ainda mais simples:
- Vá para as configurações da sua conta.
- Navegue até a seção "Chaves SSH e GPG".
- Localize a chave que você deseja remover.
- Clique no ícone de exclusão próximo a essa chave.
Imagem 16 - Confirmando a exclusão da chave no GitHub
E, finalmente, para remover as chaves de seu computador localbasta excluir os arquivos:
rm ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
Substitua id_rsa
pelo nome da chave que você deseja remover.
Se você precisar remover um host remoto do arquivo known_hosts
(geralmente depois que um servidor for reconfigurado), execute este comando:
ssh-keygen -R hostname
Isso remove a entrada do host especificado do seu arquivo known_hosts
, o que é útil quando você recebe o erro "host key verification failed".
Solução de problemas comuns de chaves SSH
Às vezes, a autenticação da chave SSH pode falhar por todos os tipos de motivos. Nesta seção, mostrarei a você soluções para problemas comuns.
- Problemas de permissão. O SSH é rigoroso quanto às permissões de arquivo por motivos de segurança. Se suas chaves tiverem permissões incorretas, a autenticação falhará. Corrija isso com:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/authorized_keys
- Problemas com a senha. Se você esqueceu a frase secreta, infelizmente, não há como recuperá-la. Você precisará executar as seguintes etapas:
- Gerar um novo par de chaves.
- Adicione a nova chave pública aos seus sistemas remotos.
- Remova o par de chaves antigo.
- Conexão recusada. Se você receber o erro "Conexão recusada", pode haver vários motivos possíveis. Aqui estão as etapas que você deve seguir para contornar isso:
- Verifique se o servidor está em execução e acessível.
- Verifique se o serviço SSH está em execução no servidor.
- Confirme se você está usando a porta correta (o padrão é 22).
- Falhas de autenticação. Se você receber o erro "Permission denied (publickey)", siga estas etapas para contornar o problema:
- Verifique se a sua chave pública foi adicionada corretamente ao arquivo
authorized_keys
do servidor. - Verifique se o servidor permite a autenticação de chave pública.
- Verifique se você está usando o nome de usuário e o nome de host corretos.
- Verifique se você está usando a chave privada correta.
- O agente emite. Esses problemas podem surgir se o agente SSH não estiver funcionando. Aqui está o que você deve fazer:
- Confirme se o agente está em execução com
ssh-add -l
. - Se não estiver em execução, inicie-o com
eval "$(ssh-agent -s)"
. - Adicione sua chave com
ssh-add ~/.ssh/id_rsa
.
A seguir, vamos explorar algumas práticas recomendadas para o gerenciamento de chaves SSH.
Práticas recomendadas para o gerenciamento de chaves SSH
A autenticação SSH é excelente para manter seus sistemas protegidos contra acesso indesejado, mas, sejamos honestos, às vezes pode ser um pouco incômodo. As dicas que abordarei a seguir têm como objetivo encontrar o ponto ideal entre segurança forte e conveniência cotidiana.
Uso de senhas fortes para chaves SSH
A frase secreta de sua chave privada funciona como a última linha de defesa se alguém obtiver seu arquivo de chave. Sempre escolha uma frase secreta forte e exclusiva que seja difícil de adivinhar, mas fácil de lembrar para você.
Uma boa frase secreta tem as seguintes características:
- Contém pelo menos 12-15 caracteres.
- Inclui uma mistura de letras maiúsculas, letras minúsculas, números e caracteres especiais.
- Evite padrões comuns ou palavras de dicionário.
- Não é reutilizado de outros serviços.
Para chaves que acessam sistemas críticos ou ambientes de produção, uma senha forte é absolutamente essencial. A pequena inconveniência de digitá-lo ocasionalmente supera em muito os riscos de segurança.
Quando você usa o agente SSH, só precisa digitar a frase secreta uma vez por sessão. Isso torna as senhas fortes práticas para uso diário. Considere o uso de um gerenciador de senhas para armazenar com segurança senhas complexas.
Uso de chaves diferentes para sistemas diferentes
Você deve sempre criar pares de chaves separados para diferentes serviços ou níveis de segurança, em vez de usar uma única chave em todos os lugares. Essa compartimentalização limita sua exposição se uma chave for comprometida.
Por exemplo, você pode criar:
- Uma chave de trabalho para os servidores de sua empresa.
- Uma chave pessoal para seus projetos domésticos.
- Uma chave dedicada para GitHub ou GitLab.
- Uma chave de alta segurança para sistemas de produção.
Novamente, um pequeno inconveniente, mas vale a pena o esforço extra.
Ao criar várias chaves, use nomes de arquivos descritivos que identifiquem sua finalidade:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/github_rsa -C "github access"
Para usar uma chave específica ao se conectar, você pode definir convenientemente um arquivo de configuração:
# ~/.ssh/config
Host github.com
IdentityFile ~/.ssh/github_rsa
Host companyserver
HostName 255.255.255.255
User ubuntu
IdentityFile ~/.ssh/company_server_rsa
Essa abordagem garante que, se uma chave for comprometida, você só precisará substituí-la, em vez de atualizar todos os seus sistemas.
Faça a rotação regular das chaves SSH
A substituição periódica das chaves SSH reduz o risco de comprometimentos não detectados e segue as práticas recomendadas de segurança.
A frequência com que você deve fazer isso depende da sensibilidade:
- Projetos pessoais: A cada 1 ou 2 anos.
- Sistemas de negócios: A cada 6-12 meses.
- Ambientes de alta segurança: A cada 3-6 meses.
- Imediatamente após a saída de membros da equipe ou atividade suspeita.
O processo de rotação de chaves SSH envolve a criação de novos pares de chaves, a adição das novas chaves públicas aos servidores, a verificação do funcionamento das novas chaves, a remoção das chaves públicas antigas dos servidores e a exclusão das chaves privadas antigas do computador local.
Em outras palavras, isso leva algum tempo, portanto, planeje isso em sua agenda.
Além disso, é uma boa prática manter um registro de quais chaves têm acesso a quais sistemas. Para as organizações, considere a implementação de ferramentas automatizadas de gerenciamento de chaves que tratam sistematicamente da rotação.
Aplicação da autenticação de chave SSH
A medida de segurança mais forte que você pode implementar é desativar completamente a autenticação por senha em seus servidores e exigir chaves SSH para todas as conexões.
Siga estas etapas para aplicar a autenticação baseada em chave:
# Edit your SSH server configuration
sudo nano /etc/ssh/sshd_config
# Set these critical security options
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
# Restart the SSH service
sudo systemctl restart sshd
Essa configuração impede totalmente os ataques de força bruta à senha.
Mas, antes de fazer essas alterações, verifique se a autenticação da chave SSH funciona corretamente para evitar que você fique bloqueado. Isso acontece.
Resumindo as chaves SSH
Para concluir, é seguro dizer que as chaves SSH transformam a maneira como você se conecta a sistemas remotos. Mudar de senhas para autenticação baseada em chave melhora seu fluxo de trabalho diário com segurança e conveniência.
Outra vantagem é que o processo não é muito demorado. Você precisa gerar as chaves, adicioná-las aos servidores que acessa e conectar-se sem digitar senhas. É isso aí! Quando comparadas à autenticação tradicional baseada em senha, as chaves SSH tornam suas conexões mais rápidas e confiáveis, além de bloquear métodos de ataque comuns, como adivinhação de senha.
Lembre-se de que sua chave privada requer proteção. Use uma frase secreta forte, mantenha sua chave segura e siga as práticas recomendadas descritas neste artigo, especialmente aquelas relacionadas à compartimentalização de chaves SSH.
Se você quiser saber mais sobre chaves SSH e sobre como trabalhar com a linha de comando em geral, esses cursos da DataCamp são a sua melhor próxima parada:
Torne-se um engenheiro de dados
Perguntas frequentes
Quais são as vantagens das chaves SSH em relação às senhas?
As chaves SSH oferecem segurança mais forte porque não podem ser forçadas como as senhas. Eles também oferecem maior conveniência, pois você não precisa digitar uma senha para cada conexão. Além disso, as chaves SSH permitem a automação segura de scripts e programas que precisam fazer conexões seguras.
Preciso ter conhecimentos técnicos para configurar chaves SSH?
O conhecimento básico da linha de comando é útil, mas não obrigatório. O processo de configuração envolve a execução de alguns comandos simples para gerar suas chaves e adicioná-las a sistemas remotos. Mesmo que não tenha experiência com a linha de comando, você pode seguir as instruções passo a passo deste artigo para implementar com êxito as chaves SSH.
Posso usar chaves SSH em todos os sistemas operacionais?
Sim. As chaves SSH funcionam no Windows, macOS, Linux e outros sistemas baseados em Unix. Todos os sistemas operacionais modernos incluem ferramentas SSH por padrão ou as têm prontamente disponíveis por meio de pacotes opcionais. O mesmo par de chaves pode ser usado em diferentes sistemas operacionais.
Como faço para solucionar o erro "Permissão negada (publickey)"?
Esse erro comum normalmente indica que sua chave não está registrada corretamente no servidor. Verifique se a sua chave pública foi adicionada corretamente ao arquivo authorized_keys no sistema remoto, verifique se as permissões de arquivo estão corretas (600 para a chave privada) e verifique se você está usando o nome de usuário e o nome de host corretos ao se conectar.
É possível usar a mesma chave SSH para projetos pessoais e de trabalho?
Embora seja tecnicamente possível, isso não é recomendado por motivos de segurança. O uso de chaves separadas para ambientes diferentes limita sua exposição se uma chave for comprometida. Crie chaves distintas para o trabalho, projetos pessoais e sistemas confidenciais para manter melhores limites de segurança.