Como usar SSH-Keyscan no Ubuntu

Como usar SSH-Keyscan no Ubuntu
SSH-KEYSCAN é uma ferramenta muito útil para coletar as chaves públicas disponíveis de vários números de hosts. O principal objetivo desta ferramenta é verificar o conhecido_hosts arquivos. A E/S não bloqueadora é usada por esta ferramenta para se conectar com o número máximo de hosts em paralelo. As informações principais do grande número de hosts podem ser a coleção rapidamente usando esta ferramenta onde alguns deles podem ser inativos ou não usando ssh. SSH-KEYSCAN não requer login nas máquinas das quais a chave será digitalizada.

Sintaxe:

A sintaxe do ssh-keyscan deu abaixo. Ele suporta várias opções para digitalizar as chaves.

ssh-kyscan [-46chv] [-f file] [-p porta] [-t timeout] [-t type] [host | namelist addrlist]…

A opção diferente do SSH-KEYSAN:

Os propósitos de usar diferentes opções de ssh-keyscano são descritos abaixo.

Opção Propósito
-4 É usado para forçar o SSH-KEYSCAN para usar apenas endereços IPv4.
-6 É usado para forçar o SSH-KEYSCAN para usar apenas endereços IPv6.
-c É usado para solicitar certificados de hosts de destino.
-arquivo f É usado para recuperar os hosts ou os pares "addrlist namelist" do arquivo.
-H É usado para hash todos os nomes de host e endereços na saída.
-P porta É usado para conectar o host remoto a uma porta específica.
-T Tempo limite É usado para definir o tempo limite para as tentativas de conexão. O valor do tempo limite padrão 5.
-T tipo É usado para definir o tipo de chave que será recuperada dos hosts digitalizados. Os valores de tipo podem ser RSA, DSA, Ecdsa, etc.
-v É usado para imprimir mensagens de depuração sobre o progresso da varredura.

As opções mais usadas do comando ssh-keyscano mostraram na próxima parte deste tutorial.

Pré -requisitos:

Antes de iniciar a próxima parte deste tutorial, você deve criar um ou mais pares de chaves ssh para testar os comandos usados ​​neste tutorial. Conclua as etapas a seguir antes de executar qualquer comando ssh-keyscan.

  1. Ative o serviço SSH no Ubuntu se não estiver ativado antes. Duas contas de usuário locais do Ubuntu foram usadas aqui como uma máquina cliente e uma máquina de servidor.
  2. Gerar os múltiplos pares de chaves ssh na máquina do servidor usando o ssh-keygen comando que cria a chave pública e a chave privada. As chaves privadas são armazenadas no servidor remoto e as teclas públicas são armazenadas no cliente com segurança.
  3. Em seguida, adicione as chaves públicas à máquina cliente.

Execute SSH-Keyscan de maneiras diferentes para digitalizar as chaves:

Você precisa fazer login na máquina cliente para verificar os comandos ssh-keyscan usados ​​neste tutorial. No começo, execute o seguinte SSH-KEYSCAN comando sem qualquer opção para ler todas as chaves públicas do endereço IP 10.0.2.15. A saída do comando pode variar com base no endereço IP ou no nome do host usado no comando. Como nenhum tipo de chave foi definido no comando, ele recuperará todas as chaves encontradas durante a varredura.

$ SSH-KEYSCAN 10.0.2.10

A saída mostra que diferentes chaves são digitalizadas pelo comando acima, como RSA, ECDSA e ED25519.

Execute o seguinte SSH-KEYSCAN Comando com a opção -p para ler todas as chaves públicas do endereço IP 10.0.2.15 na porta número 22. Como o comando anterior, a saída do comando pode variar com base no endereço IP ou no nome do host usado no comando.

$ ssh -keyscan -p 22 10.0.2.15

A saída mostra as diferentes chaves que foram digitalizadas na porta 22 pelo comando acima. Todos os comandos SSH-KEYSCAN neste tutorial foram executados no servidor local que suporta apenas a porta 22. Portanto, a saída do comando ssh -keyscan sem nenhuma opção e com a opção -p é a mesma.

Execute o seguinte SSH-KEYSCAN comando com o -t opção para ler todas as chaves públicas do RSA Digite do endereço IP 10.0.2.15. Como o comando anterior, a saída do comando pode variar com base no endereço IP ou no nome do host usado no comando. Todos os tipos de chaves públicas foram recuperadas do endereço IP específico nos dois comandos anteriores. Mas a saída do comando usada aqui recuperará todas as informações relacionadas à chave RSA.

$ ssh -keyscan -t rsa 10.0.2.15

A saída a seguir mostra que existe um RSA chave pública que existe no endereço IP, 10.0.2.15.

Se você quiser atualizar o conhecido_hosts Arquivo com a impressão digital do nome do host específico ou do endereço IP, você tem para o -H opção com o SSH-KEYSCAN comando. Execute o seguinte comando para atualizar o conhecido_hosts arquivo localizado no caminho, ~/.ssh/conhecido_hosts, com a impressão digital digitalizada encontrada no endereço IP, 10.0.2.15.

$ ssh -keyscan -h 10.0.2.15 >> ~///.ssh/conhecido_hosts

A saída a seguir mostra que cinco entradas foram anexadas no conhecido_hosts arquivo.

As múltiplas opções podem ser usadas com o comando ssh-keyscan. Execute o seguinte comando para recuperar o RSA chaves do conhecido_hosts Arquive e envie a saída para o organizar comando para imprimir os valores classificados exclusivos do RSA chaves. Duas opções foram usadas neste SSH-KEYSCAN comando. O -t a opção foi usada para recuperar o RSA chaves e o -f a opção foi usada para recuperar as chaves do conhecido_hosts arquivo. O tubo (|) usou o comando para enviar o recuperado RSA chaves do arquivo para o comando de classificação.

$ ssh -keyscan -t rsa -f ~/.ssh/conhecido_hosts | classificar -u ~//.ssh/conhecido_hosts

A saída a seguir mostra que quatro teclas RSA foram recuperadas do arquivo conhecido_hosts, e as chaves foram impressas em ordem classificada.

Conclusão:

As diferentes maneiras de digitalizar as chaves públicas da máquina cliente usando o comando ssh-keyscan foram descritas neste tutorial com as duas contas locais do host localizador. Você pode seguir o mesmo processo para digitalizar as chaves públicas do host remoto.