ssh

Como usar o comando ssh-copy-id

Como usar o comando ssh-copy-id

O comando ssh-copy-id é uma ferramenta simples que permite que você instale uma chave SSH nas chaves autorizadas de um servidor remoto. Este comando facilita o login da chave SSH, o que elimina a necessidade de uma senha para cada login, garantindo assim um processo de login automático sem senha. O comando ssh-copy-id é parte do OpenSSH, uma ferramenta para executar administrações de sistema remoto usando conexões SSH criptografadas.

Este artigo mostra como usar a ferramenta ssh-copy-id para tornar seus logins SSH mais fáceis e seguros.

Como instalar o comando ssh-copy-id

A ferramenta ssh-copy-id, parte do pacote OpenSSH, está disponível em todos os principais repositórios de distribuição do Linux, e você pode usar seu gerenciador de pacotes para instalar este comando.

Para instalar a ferramenta ssh-copy-id no Debian, use o seguinte comando:

sudo apt-get update && sudo apt-get install openssh-client

Depois de instalar o OpenSSH, você pode usar a ferramenta ssh-copy-id na linha de comando.

$ ssh-copy-id
Uso: / usr / bin / ssh-copy-id [-h |-?| -f | -n] [-i [arquivo_identidade]] [-p porta] [[-o ]…] [Usuário @] nome do host -f: modo forçado - copia as chaves sem tentar verificar se já estão instaladas -n: simulação - nenhuma chave é realmente copiada -h |-?: imprima esta ajuda

Usar ssh-copy-id é simples porque o script torna o processo de autenticação de chave pública mais fácil e eficiente. Antes de nos aprofundarmos em como usar a ferramenta, primeiro discutiremos como funciona a autenticação de chave pública SSH.

NOTA: Se você já sabe como funciona a autenticação de chave pública SSH, fique à vontade para pular esta parte e se aprofundar em como usar o comando ssh-copy-id imediatamente.

Autenticação de chave pública SSH

A autenticação de chave SSH pública é um método de autenticação SSH que permite aos usuários usar chaves geradas criptograficamente para fazer login em servidores remotos.

As chaves SSH são mais seguras do que as senhas brutas e fornecem uma maneira muito mais eficiente de fazer login no SSH. As chaves SSH são automatizadas e, uma vez autorizadas, não exigem uma senha em cada login.

Para usar uma chave SSH, vamos começar gerando uma chave.

Como gerar uma chave SSH

Para gerar uma chave SSH, use a ferramenta ssh-keygen que vem como parte do OpenSSH. Esta ferramenta gera arquivos de chave pública e privada armazenados no ~ /.diretório ssh, como mostrado abaixo.

$ ssh-keygen
Gerando par de chaves rsa pública / privada.
Insira o arquivo no qual deseja salvar a chave (/ root /.ssh / id_rsa):
Diretório criado '/ root /.ssh '.
Digite a senha longa (vazio se não houver senha):
Digite a mesma senha novamente:
Sua identificação foi salva em / root /.ssh / id_rsa.
Sua chave pública foi salva em / root /.ssh / id_rsa.bar.
A impressão digital principal é:
SHA256: ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ + gI24DptsA root @ user A imagem randomart da chave é:
+---[RSA 2048]----+
| o = o |
| o. o |
| … + .+.|
|       . + + o .o |
| S + .  . |
|. o… o o  + .|
|.E o   +. +. + + |
| o.  = o.o+ .o.+… |
|.o ... oo = + o = o.+|
+----[SHA256]-----+

Como copiar a chave SSH usando SSH-copy-id

Depois de gerar uma chave SSH, podemos adicionar manualmente a chave SSH ao arquivo autorizado da máquina remota ou usar o comando ssh-copy-id.

Usaremos o comando ssh-copy-id para tornar este processo mais fácil. Basta chamar o comando ssh-copy-id e passar o caminho para a chave pública, da seguinte maneira:

$ ssh-copy-id -i ~ /.ssh / id_rsa.usuário pub @ 77.134.54.101 -p 6576

Depois de inserir o comando acima, você deve obter a seguinte saída:

/ usr / bin / ssh-copy-id: INFO: Fonte das chaves a serem instaladas: "/ root /.ssh / id_rsa.bar"
/ usr / bin / ssh-copy-id: INFO: tentativa de fazer login com a (s) nova (s) chave (s), para filtrar qualquer uma que já esteja instalada
/ usr / bin / ssh-copy-id: INFO: 1 chave (s) permanecem para serem instaladas - se você for solicitado agora é para instalar as novas chaves user @ 77.134.54.Senha do 101:
Número de chaves adicionadas: 1 Agora tente fazer o login na máquina, com: "ssh -p '6576" [email protected]' "e verifique se apenas a (s) chave (s) que você deseja foram adicionadas.

NOTA: Nunca copie sua chave privada para outra máquina.

Depois que o comando for executado com sucesso, tente fazer o login no servidor usando a chave que você carregou, da seguinte maneira:

$ ssh -p 6576 linkfy @ 77.134.54.101

O comando acima exigirá que você insira a senha para sua chave pública, conforme mostrado na saída abaixo:

Digite a senha para a chave '/ root /.ssh / id_rsa ':
Último login: Sex 5 Mar 14:06:16 2021 de 173.208.98.186

O comando acima deve permitir que você entre no host remoto sem pedir a senha do usuário. O sistema pode pedir-lhe para introduzir a frase-senha da chave que configurou anteriormente.

Opções de comando SSH-copy-id

Você pode modificar a forma como o comando ssh-copy-id funciona usando os argumentos fornecidos. Para ver a página de ajuda, use o comando ssh-copy-id -h ou use o comando ssh-copy-id sem argumentos.

  1. -eu argumento: Este argumento especifica o arquivo de identidade a ser usado, i.e., copiado para o host remoto especificado. Se você falhar em especificar o argumento -i, todos os arquivos no ~ /.diretório ssh com o padrão correspondente *.bar será adicionado.
  2. -bandeira f: Este sinalizador ativa o modo forçado, que não verifica se a chave está pré-configurada em authorized_keys no servidor. O sinalizador -f adiciona uma chave, geralmente resultando em várias cópias da mesma chave instalada no servidor.
  3. -bandeira p: Este sinalizador especifica a porta SSH para conectar ao host remoto. Este sinalizador é usado quando a porta SSH padrão não está sendo usada.
  4. -n bandeira: Este sinalizador executa uma simulação que imprime as chaves destinadas à instalação sem instalá-las no host remoto.

Conclusão

Este guia mostrou como usar o comando ssh-copy-id para instalar chaves SSH em hosts remotos. Embora este possa ser um método simples e eficiente de instalar chaves, as chaves configuradas incorretamente podem resultar em problemas de segurança ou ficarem fora do sistema. Portanto, seja extremamente cuidadoso ao experimentar este processo.

Como usar o AutoKey para automatizar jogos Linux
AutoKey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e Qt. Usando sua funcionalidade de script e MACRO, você ...
Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...
Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...