Sites

Adicionar Chaves SSH a um Site

SSH access to a Kapsule site is key-based only, so before you can open a shell or an SFTP session you need to register a public key against the site in KPanel. This guide covers where that lives…

O acesso SSH a um site Kapsule é apenas baseado em chaves, portanto antes de abrir uma shell ou sessão SFTP precisa de registar uma chave pública no site em KPanel. Este guia cobre onde isso está localizado, como adicionar uma chave que já tem, como fazer com que Kapsule gere uma para si, e como revogar uma chave em que já não confia.

Onde está a Página de Chaves SSH

Abra Websites, clique no site e depois abra o menu Files na barra de separadores da aba do site e escolha SSH Keys. A página é intitulada SSH access e contém duas coisas: os detalhes de ligação para este site e a lista de chaves públicas atualmente autorizadas a utilizá-las.

Não existe nenhum item SSH de nível superior na barra lateral principal. As chaves são por site, portanto uma chave que adiciona aqui autentica apenas contra este site. Se executar vários sites, cada um precisa da sua própria entrada, mesmo que seja a mesma chave no seu portátil.

Página de acesso SSH para um site em KPanel

Adicionar ou revogar uma chave requer a permissão sites:write. Se estiver numa conta de equipa com uma função de apenas leitura, o botão Add key e o ícone de revogação estão ocultos. Peça a um proprietário da conta ou administrador para fazer a alteração.

Detalhes de Ligação

O cartão Connection details no topo da página mostra tudo o que o seu cliente precisa:

CampoO que é
HostO nome de anfitrião a que se ligará
PortA porta SSH para este site
UsernameO utilizador do sistema em que o seu site é executado
SSHUm comando ssh pronto a usar para este site
SFTPUm comando sftp pronto a usar para este site

Cada linha tem um controlo de cópia, e as linhas SSH e SFTP copiam o comando completo em vez de apenas o valor, para que possa colar diretamente num terminal. Utilize essas duas em vez de digitar o comando você mesmo: já contêm o utilizador, anfitrião e porta corretos.

Se o cartão não aparecer de todo, o site ainda não terminou o aprovisionamento do seu utilizador shell. A API devolve um erro simples Site has no SSH user nesse caso. Aguarde até que o comprimido de estado do site leia Active e recarregue.

Adicionar uma Chave que Já Tem

A maioria das pessoas já tem um par de chaves na sua máquina. Adicione a metade pública aqui.

  1. No seu próprio computador, imprima a sua chave pública. No macOS e Linux isso é geralmente cat ~/.ssh/id_ed25519.pub, ou cat ~/.ssh/id_rsa.pub para uma chave RSA mais antiga. No Windows com OpenSSH é type %USERPROFILE%\.ssh\id_ed25519.pub.
  2. Copie a linha única inteira, começando com ssh-ed25519, ssh-rsa ou ecdsa-sha2-nistp256.
  3. Em KPanel, clique em Add key.
  4. Coloque algo memorável no campo Label, por exemplo o nome da máquina onde a chave está.
  5. Cole a chave pública no segundo campo.
  6. Clique em Add key.

A chave aparece na lista Authorised keys imediatamente, com a sua impressão digital debaixo do rótulo. Pode conectar-se imediatamente.

Kapsule também envia um email para o endereço da conta sempre que uma chave é adicionada, citando o rótulo, a impressão digital e o site. Esse email é intencional: o acesso SSH é de elevada confiança, portanto se aparecer uma chave que não adicionou, revogue-a e mude a sua palavra-passe imediatamente.

Cole apenas o ficheiro .pub. Um ficheiro de chave privada não tem extensão .pub e começa com uma linha como -----BEGIN OPENSSH PRIVATE KEY-----. Se colar isso, é a sua chave privada e deve ser regenerada em vez de reutilizada.

Se Ainda Não Tem uma Chave

Gere uma localmente com ssh-keygen -t ed25519 -C "your-label", aceite a localização padrão do ficheiro e defina uma frase-passe quando solicitado. Isso produz ~/.ssh/id_ed25519 (mantenha-a privada) e ~/.ssh/id_ed25519.pub (cole essa).

Deixar que Kapsule Gere o Par de Chaves

Se preferir não executar ssh-keygen, KPanel pode fazer o par para si.

  1. Clique em Add key.
  2. Preencha o campo Label. Deixe a caixa de chave pública vazia.
  3. Clique em Generate keypair.

Kapsule cria um par Ed25519, instala a metade pública no site e mostra um banner verde: Keypair generated: download the private key now. Clique em Download .pem para guardar a chave privada. O ficheiro é nomeado de acordo com o rótulo que escolheu.

A chave privada é mostrada uma vez e apenas uma vez. O banner diz claramente: este é o único momento em que pode descarregá-la. Kapsule não mantém uma cópia que possa obter posteriormente. Se descartar o banner sem descarregar, revogue a chave e gere um novo par.

Uma chave gerada não tem uma frase-passe nela, o que é o que a torna utilizável a partir de um script sem solicitar. Isso também significa que o próprio ficheiro é toda a credencial. Se quiser uma frase-passe, gere o par você mesmo com ssh-keygen em vez disso e cole a metade pública.

Após descarregar, mova o ficheiro para um local apropriado e aperte as suas permissões, porque SSH recusa-se a utilizar uma chave privada legível por todos:

mv ~/Downloads/my-laptop_id_ed25519.pem ~/.ssh/kapsule-mysite.pem
chmod 600 ~/.ssh/kapsule-mysite.pem
ssh -i ~/.ssh/kapsule-mysite.pem <username>@<host> -p <port>

Substitua o nome de utilizador, anfitrião e porta pelos do cartão Connection details.

Ler a Lista de Chaves Autorizadas

Cada linha em Authorised keys mostra:

  • O rótulo que deu à chave.
  • A impressão digital da chave, que é como distinguir duas chaves quando os rótulos são semelhantes.
  • Added com a data de registo.
  • Last used com a data da autenticação mais recente, ou Never used se ainda não se autenticou.

A coluna Last used é a útil durante uma limpeza. Uma chave que nunca foi utilizada, ou não foi utilizada há meses, é normalmente um portátil que foi substituído ou um contratante que saiu.

Revogar uma Chave

Clique no ícone de caixote vermelho na linha da chave. KPanel pede-lhe para confirmar com Revoke SSH key? e uma nota de que a chave já não se autenticará no site. Clique em Revoke para terminar.

A revogação entra em vigor para novas ligações. Uma sessão SSH que já está aberta não é interrompida pela revogação da chave, portanto se estiver a remover o acesso de alguém que pode ainda estar ligado, revogue a chave e depois mude qualquer coisa que pudessem ter levado: palavras-passe de base de dados, segredos de aplicação e quaisquer tokens armazenados no site.

Mantenha a lista de chaves curta. Uma chave por máquina, identificada com o nome da máquina, é muito mais fácil de auditar do que um conjunto de chaves chamadas "key1", "new key" e "temp".

Resolução de Problemas

Permission denied (publickey). A causa mais comum é o seu cliente oferecer uma chave diferente da que registou. Force a correta com ssh -i /path/to/private_key ..., ou verifique com ssh -v quais chaves estão a ser oferecidas.

Connection refused ou um tempo limite. Confirme que está a utilizar a porta mostrada em Connection details e não a padrão 22. Copie o comando SSH da página em vez de digitá-lo.

Bad permissions on the private key. OpenSSH recusa uma chave privada que outros utilizadores podem ler. Execute chmod 600 no ficheiro.

The key works for SSH but not SFTP. Partilham as mesmas credenciais, portanto isto é quase sempre o cliente em vez da chave. Utilize o comando SFTP copiado da página, que já carry a porta correta.

Para Onde Ir Depois

Ainda precisa de ajuda?

Envie-nos um email para support@kapsulehost.com ou abra um chat no KPanel.

Abrir KPanel
Adicionar Chaves SSH a um Site