Como criar e instalar chaves SSH a partir do Linux Shell

Conteúdo

Laptop Linux mostrando um prompt de shell

Leve a sério a segurança cibernética e use as chaves SSH para inserir 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.

O que há de errado com as senhas?

Capsula segura (SSH) é o protocolo criptografado usado para entrar em contas de usuário em computadores remotos Linux ou Unix. Regularmente, essas contas de usuário são protegidas por senhas. Quando você faz login em um computador remoto, você precisa 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 garantir o acesso aos recursos de computação. Apesar dele, a segurança baseada em senha tem suas falhas. Pessoas escolhem senhas fracas, compartilhar senhas, use a mesma senha em vários sistemas, etc.

As chaves SSH são muito mais seguras e, uma vez configurado, eles são tão fáceis de usar quanto as senhas.

O que torna as chaves SSH seguras?

As chaves SSH são criadas e usadas em pares. As duas chaves estã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 usam chaves SSH, cada um receberá seu próprio par de chaves.

Sua chave privada está instalada em sua pasta pessoal (geralmente) e a chave pública é instalada no computador remoto (ou computadores) no qual você precisará entrar.

Sua chave privada deve ser mantida segura. Se outros puderem entrar, você está na mesma posição como se sua senha tivesse sido descoberta. Uma precaução sensata, e altamente recomendado, é que sua chave privada é criptografada em seu computador com um robusto frase-senha.

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, computador dele, pode decifrar esta mensagem.

Seu computador acessa sua chave privada e descriptografa a mensagem. Em seguida, ele envia sua própria mensagem criptografada para o 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 para o seu computador.

Certifique-se de que consegue entrar no computador remoto

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 até 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á conectado a um computador chamado systempeaker . Eles se conectarão a outro computador chamado Sulaco.

Eles inserem o seguinte comando:

ssh dave @ sulaco

Eles são solicitados a fornecer suas senhas, eles entram e se conectam a Sulaco. Seu prompt de linha de comando muda para confirmar isso.

o usuário dave se conectou ao sulaco usando ssh e uma senha

Essa é toda a confirmação de que precisamos. Então o usuário dave pode se desconectar de Sulaco com ele exit comando:

saída

usuário dave desconectado do sulaco

Eles recebem a mensagem de desconexão e sua linha de comando volta para dave@systempeaker.

RELACIONADO: Como se conectar a um servidor SSH do Windows, macOS o Linux

Crie um par de chaves SSH

Estas instruções foram testadas em distribuições Ubuntu Linux, Fedora e Manjaro. Em todos os casos, o procedimento 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 procedimento 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 da pasta irão protegê-la apenas para uso.

Agora você será solicitado a fornecer uma senha longa. Recomendamos fortemente que você insira uma senha longa aqui. E lembre-se do que é! Você pode pressionar Enter para não ter uma senha, mas isso não é uma boa ideia. Uma senha longa composta de três ou quatro palavras desconexas, ligados em conjunto, formará uma frase-senha muito forte.

Ser-lhe-á pedido que introduza a mesma palavra-passe mais uma vez para verificar se escreveu o que pensou ter escrito.

As chaves SSH são geradas e armazenadas para você.

Puede ignorar elrandomartque se muestra. Alguns computadores remotos podem mostrar sua arte aleatória sempre que você se conectar. A ideia é que ele reconheça se a arte aleatória muda e suspeita da conexão porque isso significa que as chaves SSH desse servidor foram alteradas.

Instalando a chave pública

Precisamos instalar sua chave pública em Sulaco , o computador remoto, então você sabe que a chave pública pertence a você.

Fazemos isso usando o ssh-copy-id comando. Este comando estabelece uma conexão com o computador remoto normalmente. ssh comando, mas em vez de permitir que você faça o login, transferir a chave SSH pública.

ssh-copy-id dave @ sulaco

ssh-copy-id dave @ sulaco

Mesmo quando você não está logando no computador remoto, você ainda precisa se autenticar com uma senha. O computador remoto deve identificar a qual conta de usuário a nova chave SSH pertence.

Observe que a senha que você precisa fornecer aqui é a senha da conta de usuário na qual você está fazendo login. Este é 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. Não está conectado ao computador remoto.

Conexão via chaves SSH

Vamos seguir a sugestão e tentar conectar ao computador remoto.

ssh dave @ sulaco

Porque o procedimento de conexão exigirá acesso à sua chave privada, e porque você protegeu suas chaves SSH atrás de uma senha longa, você precisará fornecer sua senha para que a conexão continue.

caixa de diálogo de solicitação de senha

Digite sua senha e clique no botão Desbloquear.

Depois de inserir sua senha em uma sessão de terminal, você não terá que digitá-lo novamente, enquanto você estiver com a janela do terminal aberta. Você pode se conectar e desconectar de quantas sessões remotas quiser, sem reinserir sua senha.

Puede marcar la casilla de verificación de la opciónDesbloquear automáticamente esta clave cada vez que inicie sesión”, mas vai reduzir a sua segurança. Se você deixar seu computador sem supervisão, qualquer um pode fazer conexões com computadores remotos que tenham sua chave pública.

Depois de inserir sua senha, será conectado ao computador remoto.

Para verificar o procedimento mais uma vez de uma ponta a outra, desconectar com exit comando e reconectar ao computador remoto a partir da mesma janela de terminal.

ssh dave @ sulaco

Você será conectado ao computador remoto sem exigir uma senha ou frase secreta.

Sem senhas, mas melhorou a segurança

Especialistas em segurança cibernética falam sobre algo chamado atrito de segurança. Essa é a menor dor que você precisa suportar para obter o ganho de segurança adicional. Em geral, algumas etapas extras são necessárias para adotar um método de trabalho mais seguro. E a maioria das pessoas não gosta disso. Na realidade, prefira menos segurança e falta de atrito. Essa é a natureza humana.

Com chaves SSH, você ganha mais segurança e conforto. É definitivamente um benefício mútuo.

setTimeout(função(){
!função(f,b,e,v,n,t,s)
{E se(f.fbq)Retorna;n = f.fbq = função(){n.callMethod?
n.callMethod.apply(n,argumentos):n.queue.push(argumentos)};
E se(!f._fbq)f._fbq = n;n.push = n;n.loaded =!0;n.version = ’2.0′;
n.queue =[];t = b.createElement(e);t.async =!0;
t.src = v;s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, documento,'roteiro',
‘Https://connect.facebook.net/en_US/fbevents.js ’);
fbq('iniciar', ‘335401813750447’);
fbq('acompanhar', ‘PageView’);
},3000);

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.