Olá, futuro mestre do controle remoto de instâncias EC2! Prepare-se para embarcar em uma jornada onde a arte de acessar suas máquinas na nuvem se torna tão intuitiva quanto pedir uma pizza online. Esqueça a era das portas SSH expostas como vitrines de loja; com o AWS Systems Manager (SSM), você terá um passe VIP para o backstage das suas instâncias, tudo isso sem alarde e com uma segurança de dar inveja ao 007.
Imagine a seguinte situação: você precisa dar aquela “geral” no seu servidor, verificar uns logs, rodar um comando crucial, mas a ideia de abrir a porta 22 para o mundo te dá calafrios? Seus problemas acabaram! O SSM é como aquele amigo super conectado que tem a chave de todos os lugares e te leva para dentro sem que ninguém precise saber a senha da frente.
A Real Utilidade da Magia do SSM
Pense no SSM como um canivete suíço para gerenciamento de instâncias. Ele oferece uma gama de funcionalidades, e o acesso remoto via aws ssm
e SSH é apenas a ponta do iceberg (um iceberg seguro e bem protegido, claro).
- Segurança em Primeiro Lugar (e nos lugares seguintes também!): Adeus portas SSH abertas! O SSM utiliza um agente instalado na sua instância e um canal seguro e criptografado para comunicação com a AWS. Sua superfície de ataque agradece!
- Conveniência que Abraça: Chega de lembrar IPs públicos, configurar security groups complexos para acesso temporário. Com o SSM, o acesso é feito de forma lógica e organizada.
- Auditoria Tranquila: Todas as suas sessões são logadas e podem ser auditadas, garantindo que você saiba quem fez o quê e quando. Perfeito para manter a casa em ordem!
- Gerenciamento Centralizado: O SSM não se limita ao acesso remoto. Ele oferece recursos para automação, gerenciamento de patches, inventário e muito mais. É um verdadeiro centro de comando para suas instâncias.
Vamos ao Que Interessa: O Passo a Passo da Dominação Remota!
Aqui está o seu guia de bolso para configurar e usar o acesso remoto via SSM, tanto pelo comando aws ssm
quanto via SSH (sim, ele faz isso também!)
Parte 1: Preparando o Terreno (Configuração Essencial)
- O Agente Secreto (SSM Agent): Certifique-se de que o SSM Agent está instalado e rodando nas suas instâncias EC2. A maioria das AMIs da AWS já vem com ele, mas se você usa uma AMI customizada, pode precisar instalá-lo manualmente. A boa notícia é que a AWS tem documentações excelentes para isso (por hora vou deixar que você dê um Google por “install ssm agent ec2 [seu sistema operacional]”, futuramente eu coloco esta dica em um texto separado para facilitar).
- Dando as Permissões (IAM Role): Sua instância EC2 precisa de permissão para conversar com o serviço SSM. Isso é feito através de uma IAM Role anexada à instância. Essa role deve ter a política AmazonSSMManagedInstanceCore (o nome já diz tudo, né?). Se você pretende usar o acesso via SSH, precisará também da política AmazonSSMManagedInstanceProfile.
- Como fazer: Ao criar a instância, você pode associar uma IAM Role existente ou criar uma nova com as políticas necessárias. Se a instância já existe, você pode anexar a role através do console da EC2 (selecione a instância, vá em “Actions” -> “Security” -> “Modify IAM role”).
- Configurando o SSM (Opcional, mas Recomendado): No console do AWS SSM, explore o “Session Manager”. É aqui que a mágica acontece para o acesso via
aws ssm
. Verifique se a região que você está usando é a correta.

Parte 2: A Arte do Acesso Remoto (Usando o Comando aws ssm
)
Este é o método mais direto e “sem porta” para acessar suas instâncias via terminal.
- Instale a Ferramenta (AWS CLI): Se você ainda não tem a AWS CLI instalada e configurada, essa é a hora! Ela é a sua linha de comando para o universo AWS. Siga as instruções da AWS, ou este texto aqui do blog, para instalar e configurar com suas credenciais.
- O Comando Mágico: Para iniciar uma sessão com sua instância, você precisa do ID da instância. Você pode encontrá-lo no console da EC2. O comando é simples:
aws ssm start-session --target <id_da_instancia>
Substitua “<id_da_instancia>
” pelo ID real da sua instância (ex: i-0abcdef1234567890). - Pronto, Você Chegou a sua instância!: Se tudo estiver configurado corretamente, você será conectado diretamente ao terminal da sua instância. É como se um portal secreto se abrisse! Execute seus comandos, verifique seus logs, faça o que precisar.
- Ops, este não sou eu: Você não entra na sua instância como root, ubuntu ou o usuário que você criou. Ao aparecer o prompt você será o o usuário “ssm-user” e para se tornar “root” ou qualquer outro usuário use o comando “sudo”, como em “
sudo -i
“.
- Ops, este não sou eu: Você não entra na sua instância como root, ubuntu ou o usuário que você criou. Ao aparecer o prompt você será o o usuário “ssm-user” e para se tornar “root” ou qualquer outro usuário use o comando “sudo”, como em “
- Saindo da Sessão: Para encerrar a sessão, basta usar o comando
exit
no terminal da instância.
Parte 3: Acesso SSH disfarçado (SSM Port Forwarding)
Essa funcionalidade é para quem sente falta do bom e velho SSH, mas quer a segurança do SSM. Ela permite “tunelar” conexões SSH através do SSM.
- Pré-requisitos: Além do SSM Agent e da IAM Role com as políticas mencionadas, sua instância precisa ter um servidor SSH rodando (geralmente já está).
- O Comando Secreto de Port Forwarding: A mágica acontece com parâmetros extras no comando aws ssm start-session. Você precisa especificar o tipo de porta que quer encaminhar (no caso do SSH, a porta 22) e a porta local na sua máquina que você quer usar para a conexão.
aws ssm start-session --target
<id_da_instancia>
--document-name AWS-StartPortForwardingSession --parameters "portNumber"=["22"],"localPortNumber"=["<sua_porta_local>"]
Substitua
pelo ID da sua instância e<id_da_instancia>
<
por uma porta livre na sua máquina (ex: 3456).sua_porta_local
> - Conectando via SSH (Agora com um Toque de Magia): Com a sessão de port forwarding ativa, abra outro terminal na sua máquina e conecte-se via SSH para a porta local que você especificou, direcionando para o endereço local (localhost ou 127.0.0.1):
ssh -i <sua_chave_privada> <seu-usuario>@localhost -p <sua_porta_local
>
Lembre-se de substituir pelo caminho para o seu arquivo de chave privada SSH e <seu-usuario> pelo nome de usuário correto da sua instância. - Desconectando: Para encerrar a conexão SSH, basta fechar a janela do terminal SSH. Para encerrar o túnel do SSM, volte ao terminal onde você executou o aws ssm start-session e pressione Ctrl+C.
Dicas de Mestre SSM
Dica 1 – Use Perfis da AWS CLI: Se você gerencia múltiplas contas ou regiões, configure perfis na sua AWS CLI para facilitar a troca de contextos.
Dica 2 – Session Manager no Console: Para sessões rápidas e sem precisar da CLI, você pode iniciar uma sessão diretamente do console do AWS SSM, via browser.
Dica 3 – Personalize o seu SSH: Configure o seu ~/.ssh/config para simplificar o acesso. Como em:
Host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
Dica 4 – Seja você mesmo, ou não: Se você seguiu a “dica 3”, agora você pode acessar suas instâncias por SSH, com suas credencias, incluindo login e chave privada, apenas informando o ID da instância.
ssh -i ~/.ssh/chave_para_aws ubuntu@i-05f9519e67780553d
Conclusão: Desbloqueando o Poder do Gerenciamento Remoto Inteligente
Parabéns! Agora você tem as chaves (virtuais e seguras) para acessar suas instâncias EC2 sem a necessidade de expor portas SSH. O AWS SSM não é apenas uma ferramenta de acesso remoto; é um portal para um gerenciamento de infraestrutura mais seguro, eficiente e centralizado.
Explore as outras funcionalidades do SSM, como o Run Command para executar comandos em várias instâncias simultaneamente, ou o Patch Manager para manter seus sistemas atualizados. O universo do SSM é vasto e cheio de possibilidades para simplificar sua vida na nuvem.
Lembre-se, a prática leva à perfeição. Experimente, teste e descubra como o AWS SSM pode se tornar seu maior aliado no dia a dia do gerenciamento das suas instâncias EC2. E o melhor de tudo? Seus servidores dormirão mais tranquilos sem aquela porta SSH escancarada para a internet.