# Ligar-se ao Seu Servidor Cloud Com SSH

Source: https://support.kapsulehost.com/pt-pt/cloud-servers-ssh-connect

SSH dá-lhe uma shell root no seu servidor cloud a partir do seu terminal, e todos os detalhes que precisa para se conectar são apresentados na página do servidor em KPanel, prontos para copiar.

Um servidor cloud é seu desde o sistema operativo até ao fim, o que significa que a linha de comandos é onde acontece a maior parte do trabalho. Este guia aborda a localização dos seus detalhes de conexão, conectar-se com uma chave ou uma palavra-passe, configurar uma chave adequadamente, a consola do navegador como alternativa, e os poucos erros que representam quase todas as conexões falhadas.

## Localizar os Seus Detalhes de Conexão

1. Inicie a sessão em [KPanel](https://kpanel.kapsulehost.com).
2. Clique em **Servidores Cloud** na barra lateral esquerda e depois clique no seu servidor.
3. Localize o cartão **Conexão**.

O cartão contém três campos prontos para copiar para a área de transferência:

| Campo | O que é |
|---|---|
| **Comando SSH** | Um comando completo, pronto para colar no seu terminal |
| **Endereço IPv4** | O endereço IPv4 público do servidor |
| **Endereço IPv6** | O endereço IPv6 do servidor, apresentado quando um é atribuído |

![O cartão de Conexão num servidor cloud em KPanel](https://support.kapsulehost.com/help/screenshots/cloud-servers-ssh-connect.902ba66d.webp)

> **Note:** Se o cartão mostrar "O endereço IP aparecerá aqui quando o fornecimento estiver concluído", o servidor ainda está a ser construído. O fornecimento de um servidor cloud leva aproximadamente sessenta segundos e a página atualiza-se quando termina.

## Conectar Com uma Chave SSH

Se colou uma chave pública no campo **Chave Pública SSH** quando encomendou o servidor, a autenticação por chave já está configurada e não há palavra-passe para digitar.

1. Copie o **Comando SSH** do cartão de Conexão.
2. Cole-o no seu terminal e prima Enter.

```
ssh root@203.0.113.1
```

O seu cliente SSH encontra a chave privada correspondente e autentica-se automaticamente. Se a sua chave estiver num local não padrão, aponte para ela explicitamente:

```
ssh -i ~/.ssh/my-kapsule-key root@203.0.113.1
```

> **Tip:** As chaves são mais fáceis e mais seguras do que as palavras-passe. Não há nada para memorizar, nada para digitar numa solicitação de phishing, e nada para um ataque automático de adivinhação de palavras-passe encontrar. Se ainda está a usar uma palavra-passe, gerar uma chave e adicioná-la leva cerca de dois minutos.

### Configurar uma Chave pela Primeira Vez

Gere um par de chaves na sua própria máquina, não no servidor:

```
ssh-keygen -t ed25519 -C "your-email@example.com"
```

Prima Enter para aceitar a localização padrão e defina uma frase-passe quando solicitado. Agora tem dois ficheiros:

- `~/.ssh/id_ed25519` é a sua chave **privada**. Nunca sai da sua máquina e nunca a cola em lado nenhum.
- `~/.ssh/id_ed25519.pub` é a sua chave **pública**. Esta é a que dá aos servidores.

Imprima a chave pública e copie a linha inteira única, incluindo o prefixo `ssh-ed25519` e o comentário final:

```
cat ~/.ssh/id_ed25519.pub
```

Quando encomenda um servidor, cole essa linha no campo **Chave Pública SSH**. A sugestão do próprio campo diz-o claramente: "Cole a sua chave pública para ativar a autenticação baseada em chave. Se deixado em branco, uma palavra-passe root será enviada por correio para si."

> **Warning:** Nunca cole o conteúdo de um ficheiro sem `.pub` no fim. Essa é a sua chave privada, e qualquer pessoa que a tenha pode iniciar a sessão como você em todos os servidores que a confiam. Se alguma vez partilhar uma chave privada por acaso, gere um novo par e substitua a chave pública em todo o lado imediatamente.

Para adicionar uma chave a um servidor que já tem, conecte-se como puder hoje e acrescente a linha da chave pública a `/root/.ssh/authorized_keys`.

## Conectar Com uma Palavra-passe

Se deixou o campo **Chave Pública SSH** em branco no momento da encomenda, uma palavra-passe root é enviada por correio para si assim que o servidor é fornecido.

1. Copie o **Comando SSH** do cartão de Conexão.
2. Cole-o no seu terminal e prima Enter.
3. Introduza a palavra-passe root enviada por correio na solicitação.

Altere essa palavra-passe assim que entrar, com `passwd`, e adicione uma chave SSH enquanto está lá. Uma palavra-passe enviada por correio viajou mais longe do que uma credencial deveria.

## A Consola do Navegador

A **Consola do navegador** dá-lhe um terminal dentro de KPanel, sem um cliente SSH e sem passar pela porta 22. É a ferramenta para o momento em que o seu próprio acesso é a coisa que falhou.

1. Abra a página do servidor e clique em **Iniciar consola** nos botões de ação, ou aceda a `/cloud-servers/<server-id>/console`.
2. Clique em **Iniciar consola**. KPanel inicia um terminal no servidor através de HTTPS com credenciais de uso único.
3. O **Nome de utilizador** e a **Palavra-passe** são apresentados na página, com um botão **Copiar credenciais**. O terminal abre-se na própria página, e o seu navegador pode solicitar-lhe essas credenciais.
4. Trabalhe como faria em qualquer shell.

> **Note:** As sessões de consola terminam automaticamente após 30 minutos. Iniciar uma nova sessão emite credenciais novas, pelo que nada fica à escuta depois de terminar. Uma consola de navegador também necessita de um domínio configurado com HTTPS no servidor, o que significa uma aplicação instalada através do painel. Num servidor desprotegido a consola dir-lhe-á em vez de falhar silenciosamente.

Utilize a consola para desfazer uma regra de firewall que o bloqueou, repor uma palavra-passe, ou reparar a configuração de `sshd`. Assim que estiver novamente dentro através de SSH normalmente, não a precisa novamente.

## Manter o Acesso SSH Seguro

A porta 22 está sempre aberta na firewall do servidor KapsuleHost, por desenho, pelo que uma alteração de firewall nunca o pode bloquear da máquina completamente.

Isto significa que a segurança da sua shell repousa na forma como autentica, não em esconder a porta. Duas coisas fazem a maior parte do trabalho:

- **Use chaves, não palavras-passe.** Depois uma palavra-passe adivinhada não é uma forma de entrar.
- **Deixe o fail2ban ativo.** Está ativado por padrão e bloqueia endereços que falham repetidamente na autenticação SSH. Pode ver o interruptor na página de **Gestão** do servidor.

[Gestão de Firewall e Segurança do Servidor Cloud](https://support.kapsulehost.com/pt-pt/cloud-servers-firewall) aborda ambos, mais regras personalizadas para as portas que a sua própria aplicação necessita.

## Resolução de Problemas

**"Connection refused."** Nada está à escuta. Verifique se o servidor mostra **Running** em KPanel, ligue-o se está desligado, e utilize a consola do navegador para verificar se `sshd` está em execução.

**"Connection timed out."** O tráfego não está a chegar. Confirme que está a usar o endereço IPv4 do cartão de Conexão, e verifique se a sua própria rede bloqueia a porta 22 de saída. Uma rede corporativa ou de campus às vezes faz.

**"Permission denied (publickey)."** O servidor não reconhece a sua chave. Confirme que colou a linha `.pub` inteira e inalterada, e que o seu cliente está a oferecer a chave privada correspondente. Adicione `-v` ao comando ssh para ver que chaves experimentou.

**"Permission denied, please try again" numa palavra-passe.** A palavra-passe está errada, ou a autenticação por palavra-passe está desativada porque forneceu uma chave. Use a chave, ou a consola do navegador.

**"REMOTE HOST IDENTIFICATION HAS CHANGED."** A chave de anfitrião do servidor é diferente da que o seu cliente se lembra. Isto é esperado após uma [reconstrução](https://support.kapsulehost.com/pt-pt/cloud-servers-rebuild), porque o sistema operativo foi reinstalado. Remova a entrada obsoleta para esse endereço IP do ficheiro `known_hosts` e reconecte. Se não reconstruiu nada, pare e contacte-nos antes de se conectar.

**Bloqueei-me com uma regra de firewall.** A porta 22 permanece aberta, pelo que isto é invulgar, mas se uma regra dentro do servidor a bloqueou, utilize a consola do navegador para removê-la.

Se nenhum dos acima o conseguir uma shell, envie um e-mail para [support@kapsulehost.com](mailto:support@kapsulehost.com) com o nome do servidor, o endereço a partir do qual está a conectar-se, e o texto exato do erro.
