# 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.

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

---
Fonte: https://help.staycloud.com/artigos/ssh-da-permission-denied-na-vps-o-que-fazer
