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
~/.ssh
e 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-id
faz.
-
-
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 sejajerry
nã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 diretivaPermitRootLogin
em/etc/ssh/sshd_config
tem um valor deyes
ouprohibit-password
(preferencialmente). Se definido comono
, a autenticação do método público não funcionará. - Nunca compartilhe uma chave privada com ninguém.