Desenvolvimento e bases de dados

Aceder por SSH à sua conta

Revisto a 7 min de leitura SSH terminal

O SSH permite gerir os ficheiros e executar ferramentas do seu alojamento através de uma ligação cifrada. É útil para Git, Composer, importações e tarefas que precisam de um terminal. Os comandos são executados com as permissões da sua conta de alojamento.

Lembre-se de que o acesso SSH tem de estar ativado nas opções do serviço de alojamento disponíveis na área de cliente.

Terminal integrado no cPanel

O cPanel inclui um terminal integrado, o que facilita o acesso se não quiser configurar um cliente SSH.

Ligar-se à sua conta por SSH

Se está a começar a utilizar o terminal ou se o acesso for esporádico, recomendamos que utilize o terminal integrado no cPanel.

A forma de ligação depende do sistema operativo que utiliza; a seguir detalhamos os passos em cada caso.

  • A porta habitual de SSH na Hostsuar é a 93. Confirme o dado do serviço; uma porta diferente não substitui a autenticação com uma chave protegida.

Windows

Descarregue o PuTTYgen a partir do seu site oficial:

Gere no PuTTYgen uma chave do tipo EdDSA e curva Ed25519, proteja-a com uma frase-passe longa e única e guarde a chave privada .ppk apenas no seu computador. Copie a chave pública, aceda ao cPanel, secção SSH Access → Manage SSH Keys, importe-a e carregue em Manage Authorization para a autorizar. Nunca envie nem partilhe a chave privada.

Para terminar, abra o PuTTY e aceda a Connection → SSH → Auth → Credentials. Em Private key file for authentication, carregue em Browse e selecione a chave privada guardada com o PuTTYgen.

Agora aceda a Session e mude a porta para 93; em Host Name, introduza o nome do servidor que consta dos dados técnicos do alojamento e, por fim, carregue em Open. Antes de aceitar o alerta, compare a impressão digital mostrada com a impressão digital do servidor obtida por um canal independente e de confiança; nunca carregue em Yes sem a verificar. Depois, introduza o utilizador do cPanel e a frase-passe da chave. Pode carregar a chave no Pageant para não escrever a frase em cada ligação, sem a deixar guardada em sessões ou scripts.

Linux e macOS

Abra o terminal ou a consola no seu computador e execute o seguinte comando para gerar as chaves pública e privada (caso ainda não as tenha):

ssh-keygen -t ed25519 -a 100

Se já existir uma chave no caminho proposto, não a substitua: escolha outro nome e utilize esse caminho nos comandos seguintes. Introduza uma frase-passe longa e única quando lhe for pedida. No fim, terão sido criados dois ficheiros no diretório .ssh: id_ed25519 e id_ed25519.pub; o primeiro é a chave privada e nunca deve sair do seu computador, e o segundo é a chave pública.

É esta chave pública que terá de "enviar" para a sua conta de alojamento para que o serviço SSH lhe permita iniciar sessão com essa identidade. A frase-passe protege a chave privada e é diferente da palavra-passe do cPanel.

Aceda ao cPanel, secção "SSH Access", e clique em "Manage SSH Keys".

Aceda à opção Import Key e cole o conteúdo de id_ed25519.pub em "Paste the public key into the following text box:"

Volte à página anterior e verá que a chave importada aparece na lista; clique em Manage Authorization para autorizar essa chave.

Se ainda não tiver um agente disponível na sessão, pode iniciá-lo com o primeiro comando. Adicione depois a chave para que a frase-passe não seja escrita em comandos nem guardada em scripts:

eval "$(ssh-agent -s)"
ssh-add "$HOME/.ssh/id_ed25519"

Antes da primeira ligação, obtenha a impressão digital da chave do servidor por um canal independente e de confiança. Compare essa impressão digital com a que o cliente SSH mostrar e cancele se não coincidir; não responda yes às cegas. Depois, poderá ligar-se:

ssh -p 93 -i "$HOME/.ssh/id_ed25519" usuario_cpanel@servidor.example.com

Possíveis erros

  • Todos os passos são feitos corretamente e consegue aceder, mas aparece a seguinte mensagem:
Shell access is not enabled on your account!
If you need shell access please contact support.

Neste caso, o acesso Shell está desativado; pode ativar o acesso SSH a partir da área de cliente.

  • Quando escrevo a palavra-passe, não aparece nada.

O terminal não mostra carateres nem asteriscos ao introduzir uma palavra-passe ou frase-passe. Escreva-a e carregue em Enter; o acesso será concluído se a autenticação for válida.

Outros erros frequentes

  • Timeout ou Connection refused: verifique o anfitrião, a porta e a saída de rede. Um domínio atrás do Cloudflare pode não encaminhar o SSH para o servidor de alojamento.
  • Permission denied (publickey): reveja o utilizador do cPanel, a chave privada selecionada e a autorização da sua parte pública. Importá-la nem sempre a autoriza automaticamente.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: confirme com o suporte se a chave do servidor mudou antes de modificar known_hosts.

Para sair, utilize exit. Se deixar de utilizar uma chave ou perder o computador, revogue a sua autorização no cPanel. Alterar a palavra-passe do cPanel não revoga por si só uma chave pública autorizada.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.