Durante anos, o acesso via SSH foi o padrão para administrar instâncias Linux. Porém, em ambientes corporativos modernos, manter chaves privadas, bastion hosts e portas abertas se tornou um risco operacional e de segurança.
Neste artigo, veremos como eliminar completamente o SSH e adotar um modelo de automação 100% baseado em IAM usando:
- AWS Systems Manager
- Ansible
- Session Manager
- Run Command
- Auditoria via AWS CloudTrail
Por que abandonar o SSH?
O modelo tradicional com SSH exige:
- Distribuição de chaves privadas
- Gerenciamento de bastion hosts
- Controle manual de acesso
- Rotação de credenciais
Isso aumenta:
- Superfície de ataque
- Complexidade operacional
- Risco de credenciais comprometidas
Com o Systems Manager, o acesso passa a ser controlado por IAM, eliminando chaves e portas abertas.
Conexão SSH

System Manager

AWS Systems Manager como camada de controle
O AWS Systems Manager permite gerenciar instâncias sem necessidade de acesso SSH direto.
Principais componentes usados nesse modelo:
Session Manager
Permite acesso shell seguro via console ou CLI:
- Sem abrir porta 22
- Sem IP público
- Sem chave SSH
- Controle via IAM
- Logs centralizados
Run Command
Executa comandos remotamente em uma ou milhares de instâncias:
- Execução paralela
- Controle de taxa (throttling)
- Registro de saída
- Integração com automações

Integração com Ansible sem SSH
Tradicionalmente, o Ansible depende de SSH para se conectar aos hosts.
Porém, é possível utilizá-lo como orquestrador, delegando a execução ao Systems Manager.
Arquitetura recomendada:
- Ansible roda localmente ou em pipeline CI/CD
- Ele invoca AWS CLI ou módulos específicos
- A execução ocorre via Run Command
- O SSM Agent executa nas instâncias
Vantagens:
- Nenhuma chave SSH armazenada
- Controle de acesso via IAM Roles
- Execução auditável
- Automação compatível com ambientes privados (sem internet pública)

Segurança: modelo baseado em IAM
Ao substituir SSH por Systems Manager:
🔒 Controle de acesso granular
Permissões como:
ssm:StartSessionssm:SendCommand
Podem ser restritas por:
- Tag de instância
- Conta
- Região
- Ambiente (prod, dev, staging)
🔐 Sem portas abertas
- Porta 22 pode ser removida do Security Group
- Instâncias não precisam de IP público
- Elimina bastion hosts
🔄 Rotação automática de credenciais
- IAM Roles substituem credenciais estáticas
- Não há necessidade de distribuir chaves
Auditoria centralizada com CloudTrail
Todas as ações executadas via Systems Manager são registradas no:
AWS CloudTrail
Isso permite:
- Saber quem iniciou uma sessão
- Quais comandos foram executados
- Em qual instância
- Em qual horário
Esse nível de rastreabilidade é superior ao SSH tradicional, onde logs podem ser manipulados localmente.

Casos de uso comuns
Esse modelo é ideal para:
- Hardening automático de instâncias
- Atualização massiva de pacotes
- Instalação de agentes (monitoramento, segurança)
- Correções emergenciais em produção
- Execução de playbooks Ansible sem SSH
Conclusão
Eliminar SSH não é apenas uma mudança técnica — é uma mudança de paradigma.
Ao adotar um modelo baseado em:
- IAM
- Systems Manager
- Ansible como orquestrador
- Auditoria via CloudTrail
As organizações reduzem drasticamente a superfície de ataque e aumentam governança operacional.
Para ambientes que buscam segurança, rastreabilidade e automação em escala, o SSH deixa de ser necessário — e passa a ser um risco evitável.



