Como gerenciar chaves SSH no Cockpit para autenticação de chave SSH remota

Nota: O seguinte artigo irá ajudá-lo com: Como gerenciar chaves SSH no Cockpit para autenticação de chave SSH remota

Cockpit é uma excelente GUI baseada na web para gerenciar seus servidores Linux. A maioria dos servidores baseados em RHEL são fornecidos com o Cockpit instalado e facilitam o gerenciamento de serviços, armazenamento, rede, contêineres, atualizações, contas de usuário, logs, SELinux e muito mais.

Outro recurso menos óbvio encontrado no Cockpit é a capacidade de gerenciar chaves SSH para autenticação remota de chaves SSH. Imagine isso: você faz no Cockpit em seu servidor AlmaLinux e deseja usar o SSH para fazer em outro servidor com o recurso de terminal integrado. O que você faz?

Se você quiser trabalhar com a autenticação de chave SSH porque é mais seguro, você deve certificar-se de que o servidor remoto tenha a chave pública do servidor Cockpit adicionada. Você pode fazer tudo isso a partir da linha de comando, mas há uma maneira mais fácil – especialmente se você usar várias chaves SSH – incorporadas diretamente no Cockpit.

Deixe-me mostrar como isso funciona.

VEJA: Mais de 40 termos de código aberto e Linux que você precisa conhecer (TechRepublic )

O que você precisará

Para fazer isso funcionar, você precisará de um servidor com o Cockpit funcionando e pelo menos um outro servidor para aceitar s SSH. Mostrarei como adicionar chaves SSH de um diretório não padrão e adicionar várias chaves para diferentes propósitos. Você também precisará de um usuário com privilégios sudo no host do Cockpit.

Como habilitar o serviço Cockpit

Se você ainda não habilitou o Cockpit, veja como. Faça no servidor que hospeda o Cockpit e emita o comando:

sudo systemctl enable –now cockpit.socket

Assim que o Cockpit estiver habilitado, você pode fazer na interface baseada na web apontando um navegador para https://SERVER:9090 (onde SERVER é o servidor de hospedagem) e fazendo como usuário com privilégios sudo.

Como adicionar uma chave SSH

Uma das coisas que o Cockpit não pode fazer é gerar a chave SSH do seu servidor. Se você ainda não fez isso, vamos cuidar disso agora. Mostrarei como não apenas adicionar uma chave SSH do diretório ~/.ssh padrão, mas criar uma chave SSH e salvá-la em um diretório não padrão para facilitar o gerenciamento de suas chaves.

Faça no seu host Cockpit via SSH. Crie um novo diretório com o comando:

sudo mkdir /data

Em seguida, altere a propriedade desse diretório para seu usuário com:

sudo chown -R $.$ /data

Você pode nomear os dados como quiser; Eu apenas escolhi isso por padrão.

Gere uma nova chave SSH com o comando:

ssh-keygen

Você também pode adicionar um comentário à nova chave, para poder acompanhar qual é a chave. Digamos, por exemplo, que você queira gerar uma chave SSH que será usada para seus servidores Ubuntu. Para isso, você pode emitir o comando:

ssh-keygen -C “Servidores Ubuntu”

Quando solicitado a inserir o arquivo no qual deseja salvar a chave, digite /data/key1_rsa (você pode alterar o nome da chave para o que precisar) e pressione Enter no teclado.

Você será solicitado a digitar e verificar uma senha para a chave. Depois de cuidar disso, você deve ter um par de chaves correspondente na pasta /data (key1_rsa e key1_rsa.pub). Crie quantas chaves precisar.

Como gerenciar chaves SSH com o Cockpit

Agora que suas chaves foram criadas, vamos gerenciá-las com o Cockpit. Lembre-se, essas chaves precisarão ser copiadas para seus servidores remotos para autenticação de chave SSH. Embora o Cockpit não tenha um mecanismo integrado para automatizar esse processo, ele pelo menos oferece uma GUI bem projetada para adicionar e usar as chaves necessárias.

Faça no Cockpit como um usuário e clique no menu suspenso Sessão no canto superior direito. Nessa lista suspensa, clique em Chaves SSH (Figura A).

Figura A

Na janela resultante (Figura B), clique em Adicionar chave.

Figura B

Clique no menu suspenso de localização e selecione /data na lista (Figura C).

Figura C

Se você clicar no menu suspenso de localização uma segunda vez, as chaves contidas nesse diretório aparecerão (Figura D).

Figura D

Selecione a chave que você acabou de criar e clique em Adicionar. Você será solicitado a fornecer a senha da chave (Figura E).

Figura E

Digite a senha para a chave e clique em Desbloquear e a chave será adicionada.

Como usar suas chaves SSH no Cockpit

Agora, vamos copiar nossa chave SSH recém-adicionada no Cockpit e adicioná-la a um servidor remoto. No gerenciador de chaves Cockpit SSH, expanda a entrada da chave que você deseja usar e clique na guia Chave pública. Nessa aba (Figura F), clique no ícone da área de transferência para copiar a chave.

Figura F

Agora, clique na entrada Terminal na barra lateral esquerda e SSH no servidor no qual você deseja copiar a chave. Depois de logado, emita o comando:

nano .ssh/authorized_keys

Com esse arquivo aberto, cole a chave copiada e salve e feche o arquivo. Saia da sessão SSH e faça novamente.

Com a chave SSH no lugar, você não deve ser solicitado a fornecer a senha da máquina remota. Como salvamos nossas chaves SSH em um diretório não padrão, seu comando SSH ficaria assim:

ssh -i /data/key1_rsa 192.168.1.30

E isso é tudo que você precisa para gerenciar suas chaves SSH com o Cockpit. Lembre-se, você pode adicionar quantas chaves precisar ao sistema, cada uma das quais pode ser usada para uma finalidade diferente e, com a ajuda do Cockpit, você não deverá ter problemas para ar e usar essas chaves.