# Ligar-se

## A sua chave SSH

O seu VPS Ultra com Linux abre-se com a sua **chave SSH**: um par de ficheiros criado no seu computador. A parte **pública** instala-se no servidor; a parte **privada** fica no seu computador e não se transmite a ninguém, incluindo a nossa equipa.

Em macOS, Linux e Windows 10 ou 11 (PowerShell ou o Terminal):

```
ssh-keygen -t ed25519
```

Aceite a localização proposta e escolha uma frase de acesso. A sua chave pública é o ficheiro `id_ed25519.pub`: uma linha que começa por `ssh-ed25519`. Envie-a à nossa equipa na encomenda: instalamo-la no seu servidor durante a preparação.

## Ligar-se por SSH

O cartão do seu servidor, secção **VPS** da sua área de cliente, apresenta o comando **Ligação SSH**:

```
ssh root@203.0.113.20
```

O seu servidor tem o seu próprio endereço IPv4: a ligação faz-se na porta SSH habitual, 22, ou na que escolher em `/etc/ssh/sshd_config`. Depois de apontar o seu domínio para o seu servidor, o nome dele também funciona: `ssh root@app.minha-empresa.pt`.

### Um atalho: o ficheiro \~/.ssh/config

```
Host monultra

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

A partir daí, `ssh monultra` basta, e o mesmo atalho serve para `scp`, `rsync`, `git` e o seu editor.

## Acrescentar ou substituir uma chave

As chaves do seu servidor encontram-se em `/root/.ssh/authorized_keys`, uma por linha, e gere-as pessoalmente:

* **acrescentar um colega**: cole a chave pública dele numa nova linha do ficheiro, ou crie-lhe uma conta própria (`adduser`) com a chave dele em `/home/<conta do colega>/.ssh/authorized_keys`;
* **retirar um acesso**: elimine a linha correspondente;
* **mudar de computador**: acrescente a sua nova chave pública antes de retirar a antiga.

A sua chave privada desapareceu e já nenhuma chave lhe abre o servidor? Envie a sua nova chave pública ao suporte: a nossa equipa instala-a no seu servidor.

## Transferir ficheiros

```
# um ficheiro, para o servidor

scp archive.tar.gz root@203.0.113.20:/srv/



# uma pasta, sincronizada

rsync -avz ./build/ root@203.0.113.20:/var/www/app/
```

Os programas SFTP como o FileZilla ou o WinSCP ligam-se em **SFTP**, com o endereço do seu servidor e a sua chave privada.

## Trabalhar a partir do seu editor

A extensão **Remote - SSH** do Visual Studio Code abre as pastas do seu servidor como se estivessem no seu computador: lê o seu ficheiro `~/.ssh/config`, basta escolher `monultra`. Os editores JetBrains propõem a mesma ligação através do **Remote Development**.

## Windows Server: o Ambiente de Trabalho Remoto

Um VPS Ultra com Windows Server abre-se pelo **Ambiente de Trabalho Remoto** (RDP):

1. No Windows, execute **Ligação ao Ambiente de Trabalho Remoto** (`mstsc`); no macOS, a aplicação **Windows App** da Microsoft; no Linux, o Remmina.
2. Indique o endereço IPv4 do seu servidor, apresentado no respetivo cartão.
3. Inicie sessão com a conta de administrador fornecida pela nossa equipa na entrega e, depois, altere a respetiva palavra-passe na primeira sessão.

Proteja depois o seu acesso: uma palavra-passe longa e única, e o Ambiente de Trabalho Remoto reservado aos seus endereços na firewall do Windows.

## Perguntas frequentes

### «Permission denied (publickey)»: o que verificar?

1. A chave utilizada é a que nos enviou: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` apresenta a respetiva impressão digital.
2. O seu comando indica o utilizador `root` e o endereço do seu cartão.
3. Se a sua chave tiver outro nome, indique-a: `ssh -i ~/.ssh/ma_cle root@...`.

Descreva depois a situação ao suporte, com o comando executado e a mensagem obtida: a Assistência integral ajuda-o a restabelecer o acesso.

### A minha ligação cai quando fico inativo.

Acrescente `ServerAliveInterval 60` ao seu bloco em `~/.ssh/config`, e execute os comandos longos em `tmux` ou `screen`, que os mantêm em execução mesmo depois de desligar.
