Ir para o conteúdo
Ajuda

SSH dá "Permission denied" na VPS: o que fazer

Permission denied quer dizer que a VPS recebeu a conexão, mas recusou o login. As causas mais comuns são senha errada, o root sem login por senha, a chave errada ou com permissão errada e o usuário errado. Comece copiando a senha e o comando do quadro Acesso SSH do painel.

Problema5 min de leitura

O aviso Permission denied quer dizer que a VPS recebeu a conexão, mas recusou o login. As causas mais comuns são: senha errada, o usuário root sem login por senha, a chave errada ou com permissão errada e o usuário errado no comando. Comece copiando a senha e o comando prontos do quadro Acesso SSH do painel; se não resolver, entre pelo Console SSH do painel para olhar a configuração por dentro.

Atenção: segurança da sua VPS. Os comandos no SSH mexem direto no servidor e são executados por sua conta e risco. Confira cada comando antes de rodar e, se puder, crie um snapshot da VPS antes de começar.

Sintomas

  • Depois de digitar a senha, o terminal mostra Permission denied, please try again. e pede de novo.
  • Depois de três tentativas, aparece root@<IP_DA_VPS>: Permission denied (publickey,password).
  • O terminal nem pede a senha e mostra root@<IP_DA_VPS>: Permission denied (publickey).
  • Antes de recusar, aparece WARNING: UNPROTECTED PRIVATE KEY FILE! e Permissions 0644 for '/home/<USUARIO>/.ssh/id_ed25519' are too open.

Os comandos de dentro da VPS deste artigo valem para o Ubuntu e o Debian, os sistemas das VPS da StayCloud, e supõem que você entrou como root pelo Console SSH do painel (veja "Como acessar sua VPS pelo Console SSH do painel"). O console não passa pela configuração do SSH, então funciona mesmo quando o terminal recusa o login.

Causa 1: a senha está errada

Como confirmar: a mensagem é Permission denied, please try again.. Erros comuns: Caps Lock ligado, espaço a mais ao colar, senha antiga depois de uma troca, ou senha digitada certa mas no usuário errado. Lembre que a senha não aparece enquanto você digita: isso é normal.

Como resolver: em Minhas VPS › sua VPS › Sistema › Acesso SSH, copie a senha pelo botão de copiar e cole no terminal (no Linux, Ctrl + Shift + V; no Windows, botão direito do mouse). Se não souber a senha root, redefina pelo painel, como em "Como redefinir a senha root da VPS pelo painel".

Causa 2: o root não aceita login por senha

Como confirmar: o terminal mostra Permission denied (publickey). sem pedir senha, ou a senha certa (que funciona no Console SSH) é recusada no terminal. Pelo Console SSH, veja a configuração em vigor:

sshd -T | grep -Ei 'permitrootlogin|passwordauthentication'

Se aparece permitrootlogin prohibit-password (ou without-password, ou no) ou passwordauthentication no, o SSH só aceita chave.

Como resolver: o jeito mais seguro é entrar por chave SSH, como em "Como acessar a VPS por chave SSH em vez de senha, via SSH". Se você quer voltar a entrar com senha, edite /etc/ssh/sshd_config e os arquivos em /etc/ssh/sshd_config.d/ (eles também valem e podem ter a regra), deixe as linhas assim, teste e reinicie:

PermitRootLogin yes
PasswordAuthentication yes
sshd -t
systemctl restart ssh

Não feche a sessão atual antes de testar o login num terminal novo. Se você desligou o login por senha do root, lembre que a equipe da StayCloud entra na VPS pela senha root quando você pede ajuda; sem ela, o suporte só orienta, como explica "Perguntas frequentes sobre o que o suporte da StayCloud faz".

Causa 3: a chave é outra ou está com permissão errada

Como confirmar: rode o SSH em modo detalhado no seu computador e veja quais chaves ele oferece:

ssh -v root@<IP_DA_VPS>

As linhas Offering public key: mostram as chaves testadas. Se a sua chave não aparece, o SSH está usando outra. Se aparece UNPROTECTED PRIVATE KEY FILE!, a chave privada no seu computador pode ser lida por outros usuários, e o SSH se recusa a usá-la.

Como resolver: no seu computador, proteja a chave privada. No Linux e no Mac:

chmod 600 ~/.ssh/id_ed25519

No Windows, no PowerShell, deixe só o seu usuário ler a chave:

icacls $env:USERPROFILE\.ssh\id_ed25519 /inheritance:r /grant:r "$($env:USERNAME):(R)"

Para apontar a chave certa, use -i (ou a linha IdentityFile no ~/.ssh/config):

ssh -i ~/.ssh/id_ed25519 root@<IP_DA_VPS>

Na VPS, pelo Console SSH, confira se a chave pública está em ~/.ssh/authorized_keys e se as permissões estão certas:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Para outro usuário que não o root, a pasta é /home/<USUARIO>/.ssh e o dono precisa ser ele: chown -R <USUARIO>:<USUARIO> /home/<USUARIO>/.ssh. O passo a passo completo está em "Como acessar a VPS por chave SSH em vez de senha, via SSH".

Causa 4: o usuário está errado

Como confirmar: o comando foi ssh <IP_DA_VPS>, sem usuário (o SSH usa o nome do usuário do seu computador), ou com um usuário que não existe na VPS. Pelo Console SSH, veja se o usuário existe:

id <USUARIO>

Se aparece no such user, o usuário não existe.

Como resolver: sempre informe o usuário no comando, como ssh root@<IP_DA_VPS> ou ssh <USUARIO>@<IP_DA_VPS>. Se você usa um apelido no ~/.ssh/config, confira a linha User. Para criar um usuário próprio, veja "Como criar um usuário com sudo e entrar sem root na VPS via SSH".

Quando chamar o Suporte

Na VPS, você tem acesso root e cuida do que instala; o suporte da StayCloud cuida da infraestrutura: a VPS ligada, a rede e o painel. Veja "Perguntas frequentes sobre o que o suporte da StayCloud faz". Abra um chamado se a senha acabou de ser redefinida pelo painel e nem o Console SSH aceita (Login incorrect), ou se a redefinição de senha não termina.

No chamado, informe o IP da VPS ou o nome dela no painel, o horário, a mensagem de erro literal, a saída do ssh -v e o que você já tentou. Nunca mande a senha nem a chave privada na descrição: se a equipe precisar de algum acesso, use o campo de credenciais do próprio chamado. O passo a passo está em "Como abrir um chamado no Suporte".

Relacionados

  • Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)
  • Como acessar sua VPS pelo Console SSH do painel
  • Como redefinir a senha root da VPS pelo painel
  • Como acessar a VPS por chave SSH em vez de senha, via SSH
  • Como criar um usuário com sudo e entrar sem root na VPS via SSH
  • Perguntas frequentes sobre o que o suporte da StayCloud faz
  • Como abrir um chamado no Suporte
Este artigo ajudou?

Viu algo errado ou desatualizado?