Leve a segurança cibernética a sério e use as chaves SSH para acessar logins remotos. Eles são uma maneira mais segura de se conectar do que senhas. Mostramos como gerar, instalar e usar chaves SSH no Linux.
Índice
Secure shell (SSH) é o protocolo criptografado usado para fazer login em contas de usuário em computadores remotos com Linux ou Unix . Normalmente, essas contas de usuário são protegidas por meio de senhas. Ao fazer login em um computador remoto, você deve fornecer o nome de usuário e a senha da conta na qual está fazendo login.
As senhas são o meio mais comum de proteger o acesso aos recursos de computação. Apesar disso, a segurança baseada em senha tem suas falhas. As pessoas escolhem senhas fracas, compartilham senhas, usam a mesma senha em vários sistemas e assim por diante.
As chaves SSH são muito mais seguras e, uma vez configuradas, são tão fáceis de usar quanto as senhas.
As chaves SSH são criadas e usadas em pares. As duas chaves são vinculadas e criptograficamente seguras. Uma é a sua chave pública e a outra é a sua chave privada. Eles estão vinculados à sua conta de usuário. Se vários usuários em um único computador usarem chaves SSH, cada um receberá seu próprio par de chaves.
Sua chave privada é instalada em sua pasta pessoal (geralmente), e a chave pública é instalada no computador remoto – ou computadores – que você precisará acessar.
Sua chave privada deve ser mantida em segurança. Se ela estiver acessível a outras pessoas, você está na mesma posição como se elas tivessem descoberto sua senha. Uma precaução sensata – e altamente recomendada – é que sua chave privada seja criptografada em seu computador com uma senha forte .
A chave pública pode ser compartilhada livremente sem comprometer sua segurança. Não é possível determinar o que é a chave privada a partir de um exame da chave pública. A chave privada pode criptografar mensagens que apenas a chave privada pode descriptografar.
Quando você faz uma solicitação de conexão, o computador remoto usa sua cópia de sua chave pública para criar uma mensagem criptografada. A mensagem contém um ID de sessão e outros metadados. Apenas o computador em posse da chave privada – seu computador – pode descriptografar esta mensagem.
Seu computador acessa sua chave privada e descriptografa a mensagem. Em seguida, ele envia sua própria mensagem criptografada de volta ao computador remoto. Entre outras coisas, esta mensagem criptografada contém o ID da sessão que foi recebido do computador remoto.
O computador remoto agora sabe que você deve ser quem diz ser, porque apenas a sua chave privada poderia extrair o ID da sessão da mensagem enviada ao seu computador.
Certifique-se de que você pode se conectar remotamente e fazer login no computador remoto . Isso prova que seu nome de usuário e senha têm uma conta válida configurada no computador remoto e que suas credenciais estão corretas.
Não tente fazer nada com as chaves SSH antes de verificar se você pode usar SSH com senhas para se conectar ao computador de destino.
Neste exemplo, uma pessoa com uma conta de usuário chamada dave
está conectada a um computador chamado howtogeek
. Eles vão se conectar a outro computador chamado Sulaco
.
Eles inserem o seguinte comando:
ssh dave @ sulaco
É solicitada a senha, eles a inserem e se conectam à Sulaco. Seu prompt de linha de comando muda para confirmar isso.
Essa é toda a confirmação de que precisamos. Assim, o usuário dave
pode se desconectar Sulaco
com o exit
comando:
Saída
Eles recebem a mensagem de desconexão e o prompt da linha de comando retorna para dave@howtogeek
.
Essas instruções foram testadas nas distribuições Ubuntu, Fedora e Manjaro do Linux. Em todos os casos, o processo foi idêntico e não houve necessidade de instalar nenhum novo software em nenhuma das máquinas de teste.
Para gerar suas chaves SSH, digite o seguinte comando:
ssh-keygen
O processo de geração começa. Você será questionado onde deseja que suas chaves SSH sejam armazenadas. Pressione a tecla Enter para aceitar o local padrão. As permissões na pasta irão protegê-la apenas para seu uso.
Agora será solicitada uma senha longa. Recomendamos enfaticamente que você insira uma senha longa aqui. E lembre-se do que é! Você pode pressionar Enter para não ter uma senha longa, mas isso não é uma boa ideia. Uma frase secreta composta de três ou quatro palavras não conectadas, unidas, formará uma frase secreta muito robusta.
Você será solicitado a digitar a mesma senha mais uma vez para verificar se digitou o que pensou ter digitado.
As chaves SSH são geradas e armazenadas para você.
Você pode ignorar o “randomart” que é exibido. Alguns computadores remotos podem mostrar sua arte aleatória sempre que você se conectar. A ideia é que você reconheça se a arte aleatória mudar, e suspeite da conexão porque isso significa que as chaves SSH desse servidor foram alteradas.
Precisamos instalar sua chave pública no Sulaco
computador remoto, para que ele saiba que a chave pública pertence a você.
Fazemos isso usando o ssh-copy-id
comando. Este comando faz uma conexão com o computador remoto como o ssh
comando regular , mas em vez de permitir que você efetue login, ele transfere a chave SSH pública.
ssh-copy-id dave @ sulaco
Embora não esteja efetuando login no computador remoto, você ainda deve autenticar usando uma senha. O computador remoto deve identificar a qual conta de usuário a nova chave SSH pertence.
Observe que a senha que você deve fornecer aqui é a senha da conta de usuário na qual você está fazendo login. Esta não é a senha que você acabou de criar.
Quando a senha for verificada, ssh-copy-id
transfere sua chave pública para o computador remoto.
Você retornará ao prompt de comando do seu computador. Você não fica conectado ao computador remoto.
Vamos seguir a sugestão e tentar conectar ao computador remoto.
ssh dave @ sulaco
Como o processo de conexão exigirá acesso à sua chave privada e como você protegeu suas chaves SSH atrás de uma senha, você precisará fornecer sua senha para que a conexão possa prosseguir.
Digite sua senha e clique no botão Desbloquear.
Depois de inserir sua frase-senha em uma sessão de terminal, você não terá que inseri-la novamente enquanto estiver com a janela do terminal aberta. Você pode se conectar e desconectar de quantas sessões remotas desejar, sem digitar sua senha novamente.
Você pode marcar a caixa de seleção para a opção “Desbloquear esta chave automaticamente sempre que estiver conectado”, mas isso reduzirá sua segurança. Se você deixar o seu computador sem supervisão, qualquer pessoa pode fazer conexões com os computadores remotos que possuem sua chave pública.
Depois de inserir sua senha, você se conecta ao computador remoto.
Para verificar o processo mais uma vez de ponta a ponta, desconecte com o exit
comando e reconecte ao computador remoto na mesma janela de terminal.
ssh dave @ sulaco
Você será conectado ao computador remoto sem a necessidade de uma senha ou frase secreta.
Os especialistas em segurança cibernética falam sobre uma coisa chamada atrito de segurança. Essa é a pequena dor que você precisa suportar para obter o ganho de segurança adicional. Geralmente, há uma ou duas etapas extras necessárias para adotar um método de trabalho mais seguro. E a maioria das pessoas não gosta disso. Na verdade, eles preferem menor segurança e falta de atrito. Essa é a natureza humana.
Com as chaves SSH, você obtém mais segurança e mais conveniência. Isso é uma vitória definitiva.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…