Como copiar chaves SSH

How Copy Ssh Keys



O SSH é uma ferramenta importante quando se trata de um trabalho a ser feito em outro servidor. Você pode mover arquivos, sincronizar pastas, migrar contas e arquivos do servidor, copiar backups etc. Existem vários usos para SSH e a importância das chaves SSH é quando há processos mais repetitivos a serem feitos em um curto período, como copiar alguns arquivos ou pastas , vários usuários, várias pastas, várias contas, backups cpanel etc e, nesses casos, será muito chato e demorado se você tiver que fornecer a senha ssh cada vez que ele solicitar. Configurar as chaves SSH pode evitar que a senha seja inserida manualmente para cada tarefa.

Para configurar as chaves SSH entre dois servidores, precisamos seguir estas etapas:







Crie um par de chaves no servidor de origem. Quando fornecemos o comando ssh-keygen, ele cria, por padrão, um par de chaves RSA de 2048 bits e, se você precisar de uma criptografia mais forte, também pode usar 4096 bits. Para isso, você precisa usar -b 4096 no final do comando ssh-keygen. Estou usando um padrão aqui.



Algumas coisas a serem atendidas na saída abaixo:



Em linha Digite o arquivo no qual deseja salvar a chave (/root/.ssh/id_rsa):





Ele está perguntando o caminho para salvar a chave e o padrão normalmente funciona. Se o padrão estiver bom, você pode simplesmente pressionar enter. Se você quiser tentar um caminho alternativo, precisará especificar o mesmo lá. Algumas vezes isso vai dizer como:

/raiz/.ssh/id_rsa já existe. Sobrescrever(e/n)?

Você deve fazer uma cópia da pasta .ssh antes de fazer qualquer alteração ou deve saber o que está fazendo. Enviar um Sim fará com que a chave antiga (se já estiver em uso) não funcione.



Na linha Enter passphrase (vazio se não houver senha): Este é um procedimento de segurança adicional que solicitará a senha toda vez que você tentar fazer o login no SSH e funcionará como uma verificação em 2 etapas. Mas se você precisa de acesso ssh para qualquer script ou qualquer outro trabalho direto e rápido, então é melhor não ter isso. Além de criar scripts ou automatizar as obras, sugerimos que você tenha isso com certeza.

Resultado completo do comando para referência:

[email protegido]: ~ $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: z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI sumesh@Sree

A chaveA imagem randomart de é:

+ --- [RSA 2048] ---- +
| |
| . . |
| . oo.o |
| . = o = o + |
| E S o. * OBo |
| . . * ou +. +. = |
| . . . .o =. = ooo |
| . .. + o * .B |
| .. o. o + oB + |
+ ---- [SHA256] ----- +
[email protegido] ~ $

Etapa 2: Copie este par de chaves criado para o seu servidor de destino

Existem 2 maneiras diferentes de fazer com que isso seja copiado para o seu servidor de destino

  • Usando o comando ssh-copy-id
  • Copiar a chave ssh usando o usuário / senha ssh normal como um liner de nossa máquina local ou após o login no servidor.

2.1 Usando o comando ssh-copy-id

ssh-copy-id tratará da cópia e configuração da chave para um servidor remoto da maneira apropriada para você. Assim que o comando for concluído, você não precisará de uma senha para cada login. Agora você pode escrever todos os seus scripts automatizados para o trabalho do administrador do sistema sem ter que inserir uma senha manualmente e economizar tempo no acesso diário aos sistemas que você usa o tempo todo.

Primeiro você precisa verificar se existe um comando como este e se o comando está funcionando e o usuário com o qual você está tentando está tendo acesso a este comando, então você pode usar este comando para copiar a chave pública para o servidor remoto. Este utilitário verificará sua conta local em busca de qualquer chave pública rsa e solicitará a senha da conta do usuário remoto.

Aqui, copiaremos a chave SSH raiz para o acesso de nível raiz do servidor. Portanto, para copiá-la, você precisa fazer o login / alternar para o usuário para o qual criou a chave. Neste caso, estamos tentando uma conexão root-root.

A produção completa está abaixo e estou adicionando os detalhes necessários entre eles

raiz@Fonte]]: ~ $ ssh-copy-id root@192.1.1.19-p 1986
A autenticidade do hospedeiro'[192.1.1.19]: 1986 ([192.1.1.19]: 1986)'possonão seja estabelecido.
A impressão digital da chave ECDSA é SHA256: YYOj54aEJvIle4D2osDiEhuS0NEDImPTiMhHGgDqQFk.
Tem certeza de que deseja continuar se conectando (sim / não)? sim

Se estiver usando pela primeira vez, você receberá essa resposta e precisará digitar sim e, em seguida, pressione Enter

/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 é parainstalaras novas chaves

raiz@192.1.1.19senha de:

Digite a senha e pressione enter.

Número da chave(s)adicionado:1

Agora tente fazer login na máquina, com: ssh -p ‘1986’ ‘[email protected] ′
e verifique se ele está funcionando conforme o esperado.

Depois disso, você poderá fazer o login no servidor sem nenhuma senha. Uma vez que a autenticação sem senha está funcionando bem, você pode desabilitar a autenticação de senha para que você possa bloquear o acesso ssh apenas usando as chaves ssh

2.2 Copiando a chave ssh usando usuário / senha ssh normal manualmente

Se de alguma forma você não conseguir fazer o comando acima funcionar, adicionarei as etapas para que você possa copiar a chave ssh e a senha de configuração sem autenticação de sua máquina para o servidor.

Para fazer isso, temos que anexar manualmente o conteúdo de seu arquivo id_rsa.pub ao arquivo /root/.ssh/authorized_keys em sua máquina de destino. Se você for copiar a chave para o usuário root, a localização será /root/.ssh/authorized_keys .

Da Etapa 1: você pode ter visto a linha abaixo

Sua chave pública foi salva em /root/.ssh/id_rsa.pub.

Isso diz que a chave pública que você precisa copiar para o servidor remoto está localizada no arquivo acima. Então você precisa copiar o conteúdo deste arquivo e então copiá-lo ou colá-lo nas chaves autorizadas do servidor remoto

Então, siga as etapas abaixo

O comando abaixo fornecerá a chave a ser copiada:

[email protegido] $gato /raiz/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9Hg
H1JLknLLx44 + tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q + bqgZ
8SeeM8wzytsY + dVGcBxF6N4JS + zVk5eMcV385gG3Y6ON3EG112n6d + SMXY0OEBIcO6x + PnUS
GHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZVIpSDfki9UV
KzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ik
rygTKRFmNZISvAcywB9GVqNAVE + ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77 + xiFxgI5QSZ
X3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCS
q54Cr7kvS46itMosi/uS66 + PujOO + xt/2FWYepz6ZlN70bRly57Q06J + ZJoc9FfBCbCyYH7U/ASsmY0
95ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G
2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ== root@Fonte

Faça login no servidor remoto para o qual você precisa copiar esta chave acima e certifique-se de usar o mesmo usuário para o qual você precisa copiar a chave ssh. Se você precisar de acesso root direto, copie a chave diretamente para a seção /root/.ssh/

Crie uma pasta .ssh se ela não existir

Para verificar se ele existe e se não, crie-o usando os comandos abaixo:

[email protegido]: $ls -a /raiz/.ssh

Se a pasta não estiver lá, crie-a com o comando abaixo:

[email protegido] $mkdir -p /raiz/.ssh
[email protegido] $tocar /raiz/.ssh/Chaves_Autorizadas

[email protegido]: $jogou forassh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44 + tXfJ7mIrKNxOOwxI
xvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q + bqgZ8SeeM8wzytsY + dVGcBxF6N4JS + zVk5eMcV385gG3Y6ON3
EG112n6d + SMXY0OEBIcO6x + PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZV
IpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZI
SvAcywB9GVqNAVE + ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77 + xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1
nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66 + PujOO + xt/2FWYepz6ZlN70bRly
57Q06J + ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsd
BIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ== root@Fonte>>
/raiz/.ssh/Chaves_Autorizadas

Certifique-se de que a permissão da pasta está correta

chmod -R ir=/raiz/.ssh/

Depois disso, tente fazer login no servidor a partir de um novo terminal e certifique-se de que a autenticação sem chave está funcionando conforme o esperado. Só então desabilite a autenticação de senha na configuração ssh.

NOTA: Certifique-se de que consegue fazer login no servidor conforme necessário (diretamente de sua máquina ou de outro usuário no servidor remoto e alternar para root dessa conta manualmente usando su ou sudo) e somente então desative a autenticação por senha, senão há chances de bloquear os usuários root.

Se você tiver alguma necessidade, pode sempre entrar em contato comigo para qualquer ajuda e compartilhar seus comentários.