Pular para o conteúdo principal

Ligar-se por SSH

O seu VPS Pro abre-se com a sua chave SSH: um par de ficheiros criado no seu computador, cuja parte pública regista na sua área de cliente. A parte privada fica no seu computador e não se transmite a ninguém, incluindo a nossa equipa.

Criar a sua chave​

Em macOS, Linux e Windows 10 ou 11 (PowerShell ou o Terminal), um único comando:

ssh-keygen -t ed25519

Aceite a localização proposta e escolha uma frase de acesso para proteger a chave. Aparecem dois ficheiros na pasta .ssh da sua conta:

  • id_ed25519: a sua chave privada, que fica consigo;
  • id_ed25519.pub: a sua chave pública, a que regista. Cabe numa linha que começa por ssh-ed25519.

Para apresentar a chave pública e copiá-la:

cat ~/.ssh/id_ed25519.pub

Registar a sua chave na área de cliente​

  1. Abra my.simafri.com, secção VPS.
  2. No cartão do seu servidor, cole a sua chave pública em As suas chaves públicas, uma por linha.
  3. Clique em Guardar as chaves.

A sua chave é instalada no servidor dentro de um minuto, e o cartão indica-o: Instaladas no servidor a seguido da data, com a impressão digital de cada chave (SHA256:..., a mesma que apresenta ssh-keygen -lf ~/.ssh/id_ed25519.pub). Se a registar durante a preparação do servidor, a chave é instalada na criação deste.

Convém saber:

  • até 10 chaves por servidor, uma por pessoa ou por computador;
  • tipos aceites: ed25519, RSA de pelo menos 2048 bits, ECDSA, e as chaves de segurança físicas (sk-ssh-ed25519, sk-ecdsa); o formato PuTTYgen também é aceite;
  • cada gravação substitui o conjunto das chaves registadas: cole todas as que pretende manter;
  • o proprietário da conta e os gestores registam as chaves; um operador consulta-as (ver Membros e funções).

As chaves registadas a partir da área de cliente ocupam o seu próprio bloco do ficheiro /root/.ssh/authorized_keys, entre duas linhas de referência my.simafri.com. O resto do ficheiro pertence-lhe: uma chave que aí acrescente pessoalmente, fora desse bloco, mantém-se no lugar.

Ligar-se​

O cartão do seu servidor apresenta o comando Ligação SSH, pronto a copiar:

ssh -p 22101 root@203.0.113.10

A porta, entre 22100 e 22999, é própria do seu servidor: utilize a do seu cartão. O nome do seu servidor também funciona em vez do endereço:

ssh -p 22101 root@app.minha-empresa.pt

Para um servidor cujo nome está no seu próprio domínio, esse nome responde assim que o seu registo DNS designa o seu servidor (ver Publicar um site ou uma aplicação).

Em IPv6​

Se a sua ligação à Internet tiver IPv6, chega também ao seu servidor diretamente pelo seu endereço IPv6, apresentado no cartão, na porta SSH habitual:

ssh root@2001:db8::101

Um atalho: o ficheiro ~/.ssh/config​

Para não voltar a escrever a porta e o endereço, acrescente um bloco ao seu ficheiro ~/.ssh/config:

Host monvps
HostName app.minha-empresa.pt
Port 22101
User root
IdentityFile ~/.ssh/id_ed25519

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

A partir do Windows​

O Windows 10 e o 11 incluem o cliente OpenSSH: abra o PowerShell ou o Terminal e cole o comando do seu cartão. O seu ficheiro de atalhos encontra-se em C:\Users\<o seu nome>\.ssh\config.

Com o PuTTY, indique o endereço e a porta do seu cartão em Session, o utilizador root em Connection > Data, e a sua chave privada no formato .ppk em Connection > SSH > Auth > Credentials. A chave pública apresentada pelo PuTTYgen regista-se tal como está na sua área de cliente.

Transferir ficheiros​

Com a mesma porta e a mesma chave:

# um ficheiro, para o servidor
scp -P 22101 archive.tar.gz root@app.minha-empresa.pt:/srv/

# uma pasta, sincronizada
rsync -avz -e "ssh -p 22101" ./build/ root@app.minha-empresa.pt:/var/www/app/

O scp indica a porta com um P maiúsculo. Os programas SFTP como o FileZilla ou o WinSCP ligam-se em SFTP, com o endereço, a porta e a chave privada do seu computador.

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 monvps. Os editores JetBrains propõem a mesma ligação através do Remote Development.

Dar acesso a um colega​

Duas formas de o fazer, consoante o que lhe quer confiar:

  • um acesso de administrador: acrescente a chave pública dele ao lado da sua em As suas chaves públicas, uma por linha e, depois, Guardar as chaves;
  • um acesso limitado: crie-lhe uma conta no servidor, com a sua própria chave:
adduser camille
mkdir -p /home/camille/.ssh
nano /home/camille/.ssh/authorized_keys # cole a chave pública dele
chown -R camille:camille /home/camille/.ssh
chmod 700 /home/camille/.ssh && chmod 600 /home/camille/.ssh/authorized_keys

Para retirar um acesso, guarde a lista de chaves sem a dele, ou elimine a respetiva conta com deluser camille.

Substituir uma chave perdida​

Mudou de computador ou a sua chave privada desapareceu: crie uma nova chave com ssh-keygen -t ed25519 e registe a nova chave pública no seu cartão, retirando a antiga. É instalada dentro de um minuto, e recupera o acesso ao seu servidor.

O seu assistente de IA​

Um assistente de IA ligado à sua área de cliente Simafri (servidor MCP https://mcp.simafri.com/v1/mcp) lê os seus servidores, o respetivo estado, os respetivos endereços e o comando de ligação, e regista as suas chaves públicas por si, com os direitos da pessoa com sessão iniciada. Uma chave privada é aí recusada, tal como na área de cliente.

Perguntas frequentes​

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

  1. O cartão do seu servidor indica Instaladas no servidor a seguido de uma data.
  2. A impressão digital apresentada no cartão é a da sua chave: ssh-keygen -lf ~/.ssh/id_ed25519.pub.
  3. O seu comando indica de facto a porta do seu cartão e o utilizador root.
  4. Se a sua chave tiver outro nome, indique-a: ssh -i ~/.ssh/ma_cle -p 22101 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: o seu computador mantém a ligação ativa. Para um comando longo, execute-o em tmux ou screen, que o mantêm em execução mesmo depois de desligar.

A área de cliente indica «Este texto contém uma chave PRIVADA».​

Colou o ficheiro sem .pub. Cole o conteúdo do ficheiro que termina em .pub. Se a sua chave privada tiver sido enviada por engano a alguém, crie uma nova e registe a respetiva chave pública.

Posso ligar-me com uma palavra-passe?​

O seu servidor abre-se com chave SSH, o método mais seguro: uma chave não se adivinha e nunca circula. Registe uma chave por pessoa, e cada uma mantém o seu próprio acesso.