Lançador Produtos Bitnami Documentaçãoimaxe CLI Blog Contacto
imaxe ssh acesso v1.0.0

Acesso SSH, sob controlo

Gere o acesso remoto do teu servidor sem editar ficheiros à mão: chaves autorizadas, host keys, sessões ativas e hardening do sshd, tudo com uma verificação da configuração antes de recarregar.

$ imaxe ssh status
Versão
v1.0.0
Subcomandos
10
Config
/etc/imaxe/ssh.yml
Requer root
sim
Utilizador gerido
ubuntu

O que faz este módulo #

O SSH é a porta de entrada para o teu servidor: o canal cifrado através do qual te ligas para o administrar. Garantir que essa porta está bem montada —com as chaves certas e sem fechaduras a mais— é o que separa um servidor seguro de um exposto.

O módulo ssh junta as tarefas desse acesso remoto num único comando: gere as chaves autorizadas do utilizador (adicionar, listar, remover), controla as host keys com que o servidor se identifica perante os clientes, mostra as sessões ativas e verifica ou reaplica o hardening do sshd definido na tua configuração. Cada operação que toca no sshd valida a configuração primeiro (sshd -t) para que uma alteração errada não te tranque fora.

Antes de começar

Mantém uma sessão aberta enquanto mudas chaves ou reinicias o sshd: assim, se algo correr mal, continuas dentro para o corrigir. Por omissão, o módulo trabalha sobre o utilizador gerido ubuntu; usa --user para operar sobre outro.

Guia rápidotarefas passo a passo

Tarefas comuns #

Escolhe o que queres fazer. Cada receita traz o comando já escrito — basta trocar pelo teu próprio utilizador ou chave, e clicar em Copiar.

1

Ver o estado do acesso SSH

Verifica num relance que o sshd está ativo e bem configurado.

Liga-te por SSH ao teu servidor com o utilizador ubuntu e executa:

terminal
$ sudo imaxe ssh status

Precisas dele para um script? Adiciona --json e obténs a mesma informação, legível por máquina:

terminal
$ sudo imaxe ssh status --json
Verás se o sshd está ativo, em que porta escuta e um resumo do hardening aplicado.
2

Adicionar ou remover uma chave autorizada

Concede acesso a uma máquina nova ou revoga uma que já não usas.

Primeiro, vê que chaves estão atualmente autorizadas para o utilizador gerido:

terminal
$ sudo imaxe ssh keys list

Adiciona uma chave pública passando-a como argumento (ou usa - para lê-la da entrada padrão):

terminal
$ sudo imaxe ssh keys add "ssh-ed25519 AAAAC3Nz... ana@portatil" --comment "ana@portatil"

Já não precisas dela? Remove-a pelo seu fingerprint ou pelo seu comentário:

terminal
$ sudo imaxe ssh keys remove "ana@portatil"
O authorized_keys do utilizador é atualizado. Verifica o resultado com keys list.
3

Regenerar host keys após clonagem

Essencial depois de criar uma máquina a partir de uma AMI.

Quando clonas uma imagem, cada cópia herda a mesma identidade de servidor. Gera host keys novas e únicas para esta máquina:

terminal
$ sudo imaxe ssh hostkeys regenerate --yes
O servidor fica com a sua própria identidade. Nota: o fingerprint muda, por isso a primeira reconexão de cada cliente pedir-te-á que o aceites de novo.
4

Rever e reaplicar o hardening

Verifica que o sshd continua configurado como deve e corrige-o se não estiver.

Compara o hardening atual com o desejado (o que a tua configuração define):

terminal
$ sudo imaxe ssh harden show

Há diferenças? Reaplica o hardening a partir do YAML e recarrega o sshd em segurança:

terminal
$ sudo imaxe ssh harden reapply
A configuração volta ao estado desejado (sem root por SSH, sem palavras-passe, apenas chave pública) e o sshd recarrega sem derrubar a tua sessão.
5

Ver sessões e reiniciar o sshd

Vê quem está ligado e aplica alterações sem medo de te trancares fora.

Lista as sessões SSH ativas neste momento:

terminal
$ sudo imaxe ssh sessions

Para aplicar alterações à configuração, prefere reload (não derruba ligações); usa restart só se for necessário um reinício completo. Ambos validam a configuração primeiro:

terminal
$ sudo imaxe ssh reload
$ sudo imaxe ssh restart
Se a configuração for inválida, a operação para antes de a aplicar — o teu acesso mantém-se intacto.
Cuidado para não te trancares fora

Antes de reiniciar o sshd ou mudar a porta, mantém uma segunda sessão de emergência aberta. Se, ao reconectar, receberes um aviso de host key diferente após um hostkeys regenerate, é esperado: aceita a nova identidade.

Referência CLIcomandos, flags e ficheiros

Sinopse #

uso
imaxe ssh <subcomando> [<subcomando-anidado>] [argumentos] [flags]

As operações que leem ou modificam o sshd, as chaves autorizadas ou as host keys requerem privilégios de root (usa sudo). Os grupos keys, hostkeys e harden reúnem os seus próprios subcomandos aninhados. Adiciona --json a status, sessions, keys list ou harden show para saída apta para scripting.

Subcomandos #

SubcomandoO que fazFlags relevantes
statusEstado do sshd: ativo, porta e resumo do hardening.--json
keys listLista as chaves autorizadas do utilizador gerido.--user, --json
keys addAdiciona uma chave pública (a partir de argumento ou stdin).--user, --comment
keys removeRemove uma chave por fingerprint ou comentário.--user
hostkeys regenerateRegenera as host keys (crítico após clonar uma AMI; muda o fingerprint).--yes
sessionsLista as sessões SSH ativas.--json
harden showMostra o hardening atual face ao desejado.--json
harden reapplyReaplica o hardening a partir do YAML e recarrega o sshd.
restartReinicia o sshd, validando a configuração primeiro (sshd -t).
reloadRecarrega o sshd, validando a configuração primeiro (sshd -t).

Argumentos e flags #

Argumento / FlagTipoPor omissãoDescrição
<clave> obr.stringEm keys add: a chave pública, ou - para lê-la do stdin.
<selector> obr.stringEm keys remove: fingerprint (SHA256:...) ou comentário da chave a remover.
--userstringubuntuUtilizador cujo authorized_keys se consulta ou modifica (em keys list/add/remove).
--commentstringEm keys add: comentário associado à chave para a identificar mais tarde.
--yesboolfalseEm hostkeys regenerate: confirma sem perguntar (muda o fingerprint que os clientes veem).
--jsonboolfalseEm status, sessions, keys list e harden show: emite o resultado como JSON em stdout.

Ficheiros e caminhos #

CaminhoConteúdo
/etc/imaxe/ssh.ymlConfiguração do módulo: porta, políticas de login (root, palavra-passe, chave pública), utilizadores permitidos, utilizador gerido e regeneração das host keys.
/home/<usuario>/.ssh/authorized_keysAs chaves públicas autorizadas do utilizador gerido que o keys add/remove modificam.
/etc/ssh/sshd_config.d/Fragmentos de configuração do sshd onde o hardening é aplicado.
/etc/ssh/ssh_host_*_keyHost keys que identificam o servidor e que o hostkeys regenerate renova.

Exemplo de ssh.yml:

/etc/imaxe/ssh.yml
port: 22
permit_root_login: "no"
password_authentication: "no"
pubkey_authentication: "yes"
allow_users: []
managed_user: ubuntu
hostkeys:
  regenerate_on_first_boot: true

Códigos de saída e logs #

Cada execução devolve um código que podes verificar com echo $? — útil para encadear em scripts:

0OKOperação concluída com sucesso.
1ERRErro genérico não classificado. Revê o log.
2USAGEArgumentos inválidos ou em falta.
3CONFIGA validação sshd -t falhou; nada foi aplicado.
4NOTFOUNDChave ou utilizador não encontrado.
5RELOADAlteração aplicada mas o reload do sshd falhou.

Segue o log do serviço em direto enquanto depuras:

terminal
$ sudo journalctl -u ssh -f
$ sudo imaxe ssh harden show --json

Resolução de problemas #

SintomaCausa provávelSolução
Sai CONFIG (código 3)O hardening ou uma alteração manual deixaram o sshd com uma configuração inválida.Revê o diff com imaxe ssh harden show e corrige-o; a validação impede aplicar uma config partida.
Ao reconectar, um aviso de host key diferenteAs host keys foram regeneradas (esperado após clonar uma AMI).É normal: aceita a nova identidade no cliente e atualiza o teu known_hosts.
keys add devolve NOTFOUND (código 4)O utilizador indicado em --user não existe no sistema.Verifica o nome de utilizador ou usa o gerido por omissão (ubuntu).
Já não consigo entrar com palavra-passeO password_authentication está definido como "no" pelo hardening.É intencional: entra com uma chave pública e gere-as com imaxe ssh keys.

Ficou bloqueado com o módulo SSH?

Escreva-nos com a saída de «imaxe <module> status --json» e respondemos rapidamente.

Contactar o suporte