Como criar um VPS Ubuntu grátis e acessar por SSH
Depois de conferir as cotas, crie uma VM Ubuntu elegível na Oracle Cloud e valide seu primeiro acesso SSH. O exemplo usa uma AMD micro x86, rede pública e uma regra de acesso restrita ao seu IP. A criação depende da elegibilidade da conta e da capacidade disponível.
Neste guia
Confira as condições antes de abrir o assistente
Este percurso usa uma conta Oracle elegível, sua região principal, Ubuntu 24.04 e VM.Standard.E2.1.Micro, se a combinação estiver disponível. Use 50 GB de volume de inicialização padrão elegível e confirme o consumo total dos volumes existentes na conta. Não aceite uma cobrança inesperada apenas porque a VM recebeu um selo gratuito.
Sua conta precisa de permissão para administrar instância, rede e conexão ao console. Confira os limites no comparativo das opções grátis. Se não houver capacidade, não substitua por um tipo pago sem revisar a estimativa. Salve compartimento, OCIDs, região, imagem, rede e escolhas de retenção.
Prepare uma chave no seu computador
Use Bash com OpenSSH no Linux, macOS ou WSL. Crie uma chave RSA dedicada de 3.072 bits, compatível também com o fluxo de conexão ao console OCI. Se o nome já existir, escolha outro e ajuste todos os exemplos. Proteja a chave privada com uma senha; envie apenas o arquivo .pub.
mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa -b 3072 -f ~/.ssh/oci-ubuntu-free
chmod 600 ~/.ssh/oci-ubuntu-free
cat ~/.ssh/oci-ubuntu-free.pubMantenha a chave privada no seu computador. O nome de usuário inicial neste exemplo é ubuntu; confirme o usuário da imagem em vez de tentar root por padrão.
Crie uma rede pública com acesso SSH restrito
Use uma VCN de teste dedicada, por exemplo 10.20.0.0/16, uma sub-rede pública regional 10.20.1.0/24 e um internet gateway ativo. Evite faixas sobrepostas se conectar esta rede a outras. A tabela da sub-rede deve encaminhar 0.0.0.0/0 para esse gateway. A VM precisa de IPv4 pública e de associação à sub-rede correta.
Na lista de segurança, permita entrada stateful TCP para a porta de destino 22 somente do seu IP público de administração com /32, mantendo All para as portas de origem. Origem não é o IP privado do Wi-Fi. Substitua a regra padrão de SSH aberta ao mundo nesta lista dedicada e confira todas as listas e grupos associados: uma regra estreita não anula outra permissiva.
Preserve regras de saída e ICMP exigidas. Não abra indiscriminadamente outras portas para resolver um timeout. Se seu IP mudar, atualize apenas a regra necessária. IPv6 tem endereços e regras próprios.
Crie a instância e identifique cada recurso
No assistente de Compute, Instances, Create instance, escolha o compartimento e use ubuntu-free-ssh como nome deste teste. Selecione a imagem Ubuntu 24.04 compatível com x86 e a AMD micro elegível. Anexe a rede pública preparada, confira a IPv4 e envie a chave pública. Revise volume de inicialização, região, estimativa e recursos extras antes de confirmar. O exemplo não adiciona NSG, NAT, balanceador nem serviços opcionais.
Salve o texto abaixo em um arquivo local e envie em Advanced options, Management, Initialization script. Ele permite que cloud-init registre chaves públicas do servidor e suas impressões digitais no console. Não contém chave privada.
#cloud-config
ssh:
emit_keys_to_console: trueGuarde o OCID da instância, o OCID do volume, o identificador da imagem e os endereços. Aguarde a inicialização. Uma instância marcada como em execução pode ainda estar configurando contas e rede. Não publique dados importantes nesta etapa.
Verifique a identidade do servidor por uma via confiável
No painel autenticado da OCI, abra a instância pelo OCID. Em OS Management ou Resources, entre em Console connection e escolha Launch Cloud Shell connection. Essa conexão é necessária para capturar o histórico; sua conta precisa das permissões correspondentes.
Em Console history, abra View current history e salve a saída da primeira inicialização. Procure SSH HOST KEY FINGERPRINTS, produzido por cloud-init. Anote o tipo de chave e a impressão SHA256 do sistema convidado, sem confundir com as chaves de usuários autorizados.
A impressão digital mostrada no recurso Console connection identifica o endpoint do console OCI, não o SSH normal da VM. Se o registro da chave do sistema convidado estiver ausente, use o processo documentado de recuperação da Oracle antes de seguir. Uma saída ssh-keyscan sem verificação não substitui essa confirmação.
Entre por SSH e confira o sistema recebido
No seu computador, substitua o endereço de exemplo pela IPv4 pública real. Compare a impressão digital apresentada com a obtida no console antes de aceitar.
ssh -o StrictHostKeyChecking=ask -i ~/.ssh/oci-ubuntu-free ubuntu@203.0.113.20O usuário da imagem Ubuntu é ubuntu, não opc. Dentro da sessão SSH, aguarde cloud-init e consulte o sistema, os recursos e a escuta do serviço SSH:
cloud-init status --wait
cat /etc/os-release
dpkg --print-architecture
free -h
df -h /
sudo ss -lntp
sudo iptables -SConfira Ubuntu 24.04, amd64, a alocação prevista e o serviço escutando. Um estado de erro ou degraded precisa de investigação; SSH funcionando não prova que a preparação terminou corretamente. Remova segredos de logs antes de compartilhar. Não limpe cloud-init nem troque a configuração de rede para esconder um erro. Esse acesso ainda não publica um site HTTP nem mede capacidade da aplicação.
Resolva falhas sem desmontar o firewall da imagem
Quando cloud-init terminar sem erro, atualize os índices e revise a atualização dos pacotes antes de confirmar:
sudo apt update
sudo apt upgradeMantenha a sessão original e valide um segundo login. Se precisar reiniciar, use sudo reboot enquanto a máquina ainda é descartável; depois reconecte e repita as verificações. A reinicialização encerra SSH de propósito.
Deslize a tabela para ver todas as colunas →
| Sintoma | Primeiro controle |
|---|---|
| Timeout no SSH | IPv4, rota pública, origem /32 e todas as regras aplicáveis |
| Permission denied publickey | Usuário ubuntu, chave privada selecionada e chave pública enviada |
| Identidade diferente | OCID e impressão digital confiável antes de editar known_hosts |
| Falha na preparação | Histórico do console, cloud-init e acesso aos repositórios |
Nas imagens Ubuntu da Oracle, não instale nem ative UFW como correção genérica. Preserve as regras iptables fornecidas, inclusive as necessárias aos volumes de inicialização e bloco por iSCSI. Siga as instruções da imagem para o firewall do sistema convidado e mantenha as regras OCI apropriadas.
Se a conexão falhar, o guia de erros SSH separa rede, serviço, autenticação e identidade. Para publicar um site, siga a configuração Ubuntu usando a exceção Oracle para o firewall.
Valide a cópia e encerre apenas os recursos deste teste
Antes de excluir, copie o que precisa preservar para fora da VM e teste uma restauração. Registre os identificadores; uma lista de nomes parecidos não garante que você selecionou a instância certa.
Ao terminar a VM, confira explicitamente o destino do volume de inicialização. A retenção padrão pode deixar esse volume na conta. Revise também volumes de bloco, endereços, backups e conexões de console.
Remova a sub-rede e o gateway dedicados apenas quando não forem usados por outro recurso. Não limpe a conta inteira para retirar um único experimento.
Perguntas e respostas
A criação do VPS Ubuntu grátis é garantida?
Não. Verificação da conta, cotas e capacidade da região podem impedir a criação. Confira as condições antes de escolher outra configuração.
Por que usar uma chave RSA neste percurso?
O exemplo mantém compatibilidade com o caminho de conexão ao console OCI além do acesso normal. Proteja a chave privada e confirme os requisitos atuais do console.
Posso ativar UFW depois de conectar?
Não aplique o bloco genérico de UFW às imagens Ubuntu da Oracle. Preserve o firewall fornecido e use as instruções específicas da imagem.