Como usar o comando ssh-copy-id

Como usar o comando ssh-copy-id

O comando ssh-copy-id é uma ferramenta simples que permite instalar uma tecla SSH nas chaves autorizadas de um servidor remoto. Este comando facilita o login da chave SSH, que remove a necessidade de uma senha para cada login, garantindo assim um processo de login automático e sem senha e sem senha. O comando SSH-COPY-ID faz 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 perfeitos 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:

Atualização sudo apt-get && 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 [identity_file]] [-p porta] [[-o ]…] [Usuário@] HostName -f: Modo de força -Copie as teclas sem tentar verificar se elas já estão instaladas -N: Run Dry -nenhuma chaves é 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 mergulharmos em como usar a ferramenta, discutiremos primeiro como funciona a autenticação de chave pública ssh.

OBSERVAÇÃO:.

Autenticação de chave pública ssh

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

As chaves SSH são mais seguras que as senhas cruas 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, começaremos gerando uma chave.

Como gerar uma chave SSH

Para gerar uma chave SSH, use a ferramenta ssh-keygen que ocorre 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.
Digite o arquivo para salvar a chave (/root/.ssh/id_rsa):
Diretório criado '/root/.ssh '.
Digite a senha (vazia sem senha):
Digite a mesma senha novamente:
Sua identificação foi salva em /raiz /.ssh/id_rsa.
Sua chave pública foi salva em /raiz /.ssh/id_rsa.bar.
A principal impressão digital é:
SHA256: ddvoqhs6cgt8vnertz9aisnvoukmsprz+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 tecla SSH usando SSH-COPY-ID

Depois de gerar uma tecla SSH, podemos adicionar manualmente a chave SSH ao arquivo Remote Machine Authorized_Keys ou usar o comando ssh-copy-ID.

Usaremos o comando ssh-copy-id para facilitar esse processo. Basta ligar para o comando ssh-copy-id e passar no caminho para a chave pública, como segue:

$ SSH-COPY-ID -I ~//.ssh/id_rsa.Usuário de [email protected] -P 6576

Após inserir o comando acima, você deve obter a seguinte saída:

/usr/bin/ssh-copy-id: informações: fonte de chave (s) a ser instalada: "/root/.ssh/id_rsa.bar"
/usr/bin/ssh-copy-id: informações: tentando fazer login com a nova (s) chave (s), para filtrar qualquer um que já esteja instalado
/USR/BIN/SSH-COPY-ID: INFO: 1 CHAVE (s) ainda precisa ser instalado-se você for solicitado agora, é para instalar o novo usuário do [email protected] de 101:
Número de chaves adicionadas: 1 Agora tente fazer login na máquina, com: "SSH -P '6576" Usuá[email protected] '"e verifique se apenas as chaves que você queria foram adicionadas.

OBSERVAÇÃO: Nunca copie sua chave privada para outra máquina.

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

$ ssh -p 6576 [email protected]

O comando acima exigirá que você entre na senha da sua chave pública, como mostrado na saída abaixo:

Digite a senha para a chave '/raiz//.ssh/id_rsa ':
Último login: sex 5 de março 14:06:16 2021 de 173.208.98.186

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

Opções de comando ssh-copy-id

Você pode modificar como o comando ssh-copy-id funciona 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. -Eu argumento: Este argumento especifica o arquivo de identidade a ser usado, eu.e., 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 de correspondência *.pub será adicionado.
  2. -f sinalizador: Este sinalizador permite o modo forçado, que não verifica se a chave é pré-configurada em autorizado_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: Esta bandeira especifica a porta SSH para conectar -se ao host remoto. Esta bandeira é usada quando a porta SSH padrão não está sendo usada.
  4. -n Flag: Esta bandeira executa uma corrida a seco 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 as teclas SSH em hosts remotos. Embora este possa ser um método simples e eficiente para instalar chaves, as teclas incorretas podem resultar em problemas de segurança ou ser trancados do sistema. Portanto, seja extremamente cuidadoso ao experimentar este processo.