Como usar o comando ssh-copy-id

How Use Ssh Copy Id Command



O comando ssh-copy-id é uma ferramenta simples que permite instalar uma chave SSH nas chaves autorizadas de um servidor remoto. Este comando facilita o login com 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 simples 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 installopenssh-client

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





$ ssh-copy-id

Uso:/usr/sou/ssh-copy-id[-h|-?|-f|-n] [-eu[arquivo_de_identidade]] [-p porta] [[-ou<ssh -ouopções>]...] [do utilizador@]nome de anfitrião-f: modo de força-copie as chaves sem tentar verificarE seeles já estão instalados -n: simulação-nenhuma chave é realmente copiada-h|- ?: imprima istoajuda

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 logon em servidores remotos.

As chaves SSH são mais seguras do que as senhas brutas e fornecem uma maneira muito mais eficiente de 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, começaremos 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, conforme mostrado abaixo.

$ssh-keygen

Gerando público/par de chaves rsa privadas.
DigitarArquivo no quepara salvar a chave(/raiz/.ssh/id_rsa):
Diretório criado'/root/.ssh'.
Digite a senha(vazioparasem senha):
Digite a mesma senha novamente:
Sua identificação foi salvano /raiz/.ssh/id_rsa.
Sua chave pública foi salvano /raiz/.ssh/id_rsa.pub.
A impressão digital principal é:
SHA256: ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ + gI24DptsA root@usuário A chaveA imagem randomart de é:
+ --- [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 authorized_keys 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-eu~/.ssh/usuário id_rsa.pub@77.134.54.101-p 6576

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

/usr/sou/ssh-copy-id: INFO: Fonte da chave(s)Ser instalado:'/root/.ssh/id_rsa.pub'
/usr/sou/ssh-copy-id: INFO: tentando registrarnocom a nova chave(s), para filtrar qualquer um que já esteja instalado
/usr/sou/ssh-copy-id: INFO:1chave(s)permanece para ser instalado- E sevocê é solicitado agora é parainstalaro novo usuário de chaves@Senha de 77.134.54.101:
Número da chave(s)adicionado:1Agora tente fazer login na máquina, com:'ssh -p' 6576 '' [email protegido] ''e verifique parafaçocertifique-se de que apenas a chave(s)você queria foram adicionados.

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 6576linkfy@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 senhaparachave'/root/.ssh/id_rsa':
Último login: Sex Mar5 14: 06:16 2021de 173.208.98.186

O comando acima deve permitir que você faça login no host remoto sem solicitar a senha do usuário. O sistema pode solicitar que você insira a frase secreta da chave que você configurou anteriormente.

Opções de comando SSH-copy-id

Você pode modificar o funcionamento do comando ssh-copy-id usando os argumentos fornecidos. Para visualizar a página de ajuda, use o comando ssh-copy-id -h ou use o comando ssh-copy-id sem argumentos.

  1. argumento -i : Este argumento especifica o arquivo de identidade a ser usado, ou seja, copiado para o host remoto especificado. Se você não especificar o argumento -i, todos os arquivos no diretório ~ / .ssh com o padrão correspondente * .pub serão adicionados.
  2. -f flag : 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. -p bandeira : Este sinalizador especifica a porta SSH para se 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, chaves configuradas incorretamente podem resultar em problemas de segurança ou ficarem bloqueadas no sistema. Portanto, seja extremamente cuidadoso ao fazer experiências com esse processo.