−25%

no Windows com pagamento anual, até 31/10. Ver planos

EQVPS
Começar

Como configurar um VPS com Rocky Linux: primeiros passos depois de receber o root

Os primeiros dez minutos num VPS novo com Rocky Linux 9: atualizar com dnf, criar um usuário sudo com sua chave SSH, desligar o login root e por senha, ativar o firewalld e as atualizações de segurança automáticas. Cada comando testado na nossa imagem.

O Rocky Linux 9 é a opção gratuita compatível com RHEL: os mesmos pacotes, o mesmo dnf, os mesmos firewalld e SELinux. Se você já configurou Debian ou Ubuntu, a ordem dos passos é a mesma; mudam as ferramentas. Estes são os primeiros dez minutos num servidor Rocky 9 recém-criado.

Executamos cada comando abaixo na nossa imagem de Rocky Linux 9 antes de publicar. Num servidor limpo, a sequência inteira leva poucos minutos.

1. Atualize o sistema

Entre como root com a senha do painel e atualize:

dnf -y upgrade

Na nossa imagem levou segundos no teste, porque a imagem já estava atualizada.

2. Crie um usuário sudo e adicione sua chave SSH

No Rocky o grupo de administradores é wheel, não sudo:

useradd -m -G wheel deploy
passwd deploy                      # sudo will ask for this password

Coloque sua chave pública no servidor (como criar uma). Se você a copiou para /root/key.pub:

install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/key.pub /home/deploy/.ssh/authorized_keys
restorecon -R /home/deploy/.ssh

O restorecon define os rótulos do SELinux que o sshd espera. Com um rótulo errado, o login por chave falha sem erro claro.

Abra um segundo terminal e confira que ssh deploy@YOUR.SERVER.IP funciona e que sudo -v aceita a senha. Mantenha a sessão root aberta até lá.

3. Desligue o login root e por senha

Aqui o Rocky foge da edição clássica do sshd_config. As opções ficam em arquivos dentro de /etc/ssh/sshd_config.d/, e o sshd usa o primeiro valor que encontra. Na nossa imagem o primeiro arquivo é 00-eqvps.conf, que permite root e senha para você conseguir entrar no primeiro dia. Altere ali:

sed -i -e 's/^PermitRootLogin .*/PermitRootLogin no/' \
       -e 's/^PasswordAuthentication .*/PasswordAuthentication no/' \
       /etc/ssh/sshd_config.d/00-eqvps.conf
sshd -t && systemctl reload sshd
sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '

O último comando mostra o que o sshd vai aplicar de fato. Você deve ver:

permitrootlogin no
passwordauthentication no

A partir daí ssh root@… é recusado mesmo com chave, e deploy entra só com a chave.

4. Firewall: firewalld

A imagem cloud não traz o firewalld. Instale, inicie e deixe só o necessário:

dnf -y install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
firewall-cmd --list-services

A zona padrão abre cockpit (porta 9090) e dhcpv6-client. O Cockpit não está instalado, mas não há motivo para deixar a porta dele aberta. Quando adicionar um aplicativo, abra a porta dele do mesmo jeito, por exemplo firewall-cmd --permanent --add-service=https.

5. Atualizações de segurança automáticas

O dnf-automatic baixa atualizações por um temporizador. Por padrão ele não as instala, então ative isso:

dnf -y install dnf-automatic
sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer

Se quiser só correções de segurança, defina também upgrade_type = security no mesmo arquivo.

6. Mantenha o SELinux ligado

O getenforce mostra Enforcing num servidor novo, e tudo acima funciona com ele. Quando um aplicativo precisa de uma porta ou diretório fora do padrão, a solução é um rótulo (semanage port, restorecon), não setenforce 0.

Qual plano

O Rocky 9 usa cerca de 400 MB de RAM em repouso. O plano Nano (1 GB, $3/mês) basta para um serviço pequeno; o Micro (2 GB, $5/mês) deixa espaço para um banco de dados. Nos planos NAT, o SSH entra por uma porta pessoal mostrada no painel. Se precisar das portas 80/443 abertas para todos, escolha um plano com IPv4 próprio, como o Micro-IP por $10/mês.

O Rocky Linux 9 é uma das imagens da página da família RHEL e está em todos os planos de VPS. O pagamento é em USDT, USDC ou ETH nas redes Base, Ethereum ou Polygon, sem documentos nem cartão. Se preferir controlar o servidor por scripts, a documentação da API cobre pedido, reinstalação e renovação.

Perguntas frequentes

Rocky Linux é o mesmo que RHEL?

Ele é compilado a partir das mesmas fontes e busca compatibilidade total com o Red Hat Enterprise Linux 9, então guias, pacotes e hábitos do RHEL (dnf, firewalld, SELinux) valem aqui. Não é preciso assinatura da Red Hat.

Por que minha alteração no SSH não tem efeito no Rocky?

O Rocky lê os arquivos de /etc/ssh/sshd_config.d/ em ordem de nome, e para cada opção vale o primeiro valor encontrado. Na nossa imagem o primeiro arquivo é 00-eqvps.conf, então altere a opção ali e confirme o resultado com sshd -T antes de fechar a sessão.

Devo desligar o SELinux?

Não. Numa instalação nova ele está em Enforcing e todos os passos aqui funcionam com ele. Se você criar arquivos para SSH ou um servidor web em lugares incomuns, restorecon -R nesse caminho corrige os rótulos. Desligar o SELinux por um problema de rótulo tira uma camada real de proteção.

Posso mudar a porta do SSH?

Num plano com IPv4 próprio, sim, desde que você libere a nova porta no firewalld e no SELinux. Num plano NAT, deixe o sshd na 22: sua porta externa pessoal já é redirecionada para a 22 dentro do servidor, e mover o sshd quebra esse redirecionamento.

Que plano basta para Rocky Linux?

O Rocky 9 usa cerca de 400 MB de RAM em repouso, então o Nano com 1 GB serve para um serviço pequeno. Com banco de dados ou containers, o Micro com 2 GB é mais folgado.

Comentários

Nenhum comentário ainda. Seja o primeiro.

Deixe um comentário

Os comentários são moderados antes de aparecerem.