Saltar para o conteúdo
EuroVPSEuroVPS

Como utilizar chaves SSH para autenticação

FAQ da EuroVPS

Atualizado a 2 min de leitura

Porquê chaves?

A autenticação por chave pública baseia-se num par de chaves específico de cada utilizador, o par de chave pública e chave privada. A chave pública gerada na máquina do cliente SSH é copiada para o ficheiro authorized_keys do servidor SSH, e é assim que o servidor SSH passa a considerar a chave fidedigna. Durante o início de sessão, o servidor envia um desafio que só o detentor da chave privada correspondente consegue assinar. A palavra-passe nunca é transmitida.

Como configurar a autenticação SSH por chaves

Crie o diretório das chaves.

mkdir -p ~/.ssh

Proteja o diretório .ssh, para que só o utilizador do SSH lhe aceda.

chmod 700 ~/.ssh

Gere o par de chaves.

ssh-keygen -t rsa

Siga as mensagens no ecrã para criar as chaves de forma interativa. Indique uma palavra-passe (opcional) para proteger a chave privada. Se definir uma palavra-passe, esta será pedida em cada sessão SSH.

Copie a chave pública para o authorized_keys do servidor.

Pode copiar o texto do ficheiro ~/.ssh/id_rsa.pub e colá-lo no ficheiro ~/.ssh/authorized_keys do servidor, ou utilizar o utilitário ssh-copy-id, no formato abaixo, para transferir a chave.

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

A opção -i indica o ficheiro de identidade, ou seja, a chave pública.

Desative a autenticação por palavra-passe e ative a autenticação por chave pública.

Inicie sessão no servidor como root, abra o ficheiro /etc/ssh/sshd_config com qualquer editor de texto e confirme que as diretivas têm os valores abaixo.

PubkeyAuthentication yes
PasswordAuthentication no

Se a chave for para o utilizador root, defina PermitRootLogin prohibit-password, para que o root inicie sessão com chave mas nunca com palavra-passe. Para chaves novas, prefira ssh-keygen -t ed25519.

PermitRootLogin prohibit-password

Reinicie o serviço SSH no servidor e teste a ligação SSH a partir do cliente. Se encontrar problemas de ligação, utilize a opção -vv no comando ssh.

ssh -vv root@yourhost.com

Sugestões

A propriedade e as permissões do diretório devem pertencer a esse utilizador: chmod 600 ~/.ssh/id_rsa

Das FAQ da EuroVPS.

Mais na categoria «Guias»

O seu próximo parceiro de infraestrutura

Ainda tem
uma pergunta?

Diga-nos o que está a tentar fazer. Um engenheiro vai ler e responder.

+357 222 32280
Um engenheiro da EuroVPS a transportar um nó de servidor no piso do datacenter
Uma conversa com as pessoas que vão cuidar da sua infraestrutura.

Comecemos pela sua infraestrutura.

Um pouco de contexto ajuda-nos a começar a conversa certa.

Utilizaremos os seus dados para responder ao seu pedido. Política de privacidade