Um exemplo de uma maneira de implantar o método de autenticação de chave pública é o seguinte. Suponha que você tenha servidores A (o servidor; o que você deseja se conectar) e B (o cliente; aquele de quem você deseja se conectar a A usando a chave pública).
-
Em A , execute o seguinte comando:
ssh-keygen- Isso gerará um par de chaves público-privado, se executado sem argumentos, fará isso em
~/.ssh.
- Isso gerará um par de chaves público-privado, se executado sem argumentos, fará isso em
-
Em A , execute:
ssh-copy-id [user@]<Bs-IP-address>-
Isso copiará a chave pública gerada por A para B . Ele fará isso em um arquivo chamado
~/.ssh/authorized_keys. -
Se isso não funcionar devido a problemas de conectividade ou se você simplesmente não conseguir se conectar do ponto A para B , há uma forma alternativa (manual) de fazendo isso. Na sua máquina A , acesse o diretório
~/.sshe localize seu arquivo de chave pública. Este provavelmente será um arquivo com a extensão.pub. Abra e copie o conteúdo e, em B , adicione / cole no seu arquivo~/.ssh/authorized_keys. Muito importante : esse arquivo precisa ser de propriedade do usuário, o grupo precisa ser do usuário e ter permissões600. Caso contrário, não funcionará . Isso é basicamente o que ossh-copy-idfaz.
-
-
Em B , tente conectar por SSH a A .
Algumas coisas a serem observadas:
- O comando no ponto 2 implementará a chave pública para o usuário remoto ao qual você está se conectando. Isso significa que, se você implantar a chave na casa de
tom, um usuário cujo nome de usuário sejajerrynão poderá usá-la. Em suma, a implantação é por usuário. - Se você estiver tentando implantar a chave para se conectar a A com
root, verifique se a diretivaPermitRootLoginem/etc/ssh/sshd_configtem um valor deyesouprohibit-password(preferencialmente). Se definido comono, a autenticação do método público não funcionará. - Nunca compartilhe uma chave privada com ninguém.