Gerente de sessão da AWS com capacidade aprimorada de SSH e SCP

Gerente de sessão da AWS com capacidade aprimorada de SSH e SCP
Há um ano, novos recursos no gerente de sessão do AWS Systems foram descobertos pela AWS (Amazon Web Services). Agora, os usuários podem tunnel diretamente o Secure Shell (SSH) e as conexões de cópia segura (SCP) de clientes locais sem precisar de um console de gerenciamento da AWS. Os usuários confiam em firewalls há anos para acessar o conteúdo da nuvem com segurança, mas essas opções têm problemas de criptografia e gerenciamento de gestão. O Session Manager oferece aos provedores de nuvem conectividade estável e auditada sem a necessidade de pontos de acesso remotos. Um dos desafios enfrentados pelos usuários que adotam o gerente de sessão da AWS é evitado pela incorporação da funcionalidade de cópia segura (SCP). O acesso ao console de ativos em nuvem foi dado dentro do console de gerenciamento da AWS, mas até agora, não havia nenhuma maneira conveniente de transferir arquivos para sistemas remotos. Criar ou manter um sistema ao vivo precisa de copiar patches ou outros dados para as instâncias ao vivo em certos casos. Agora o gerente de sessão concede isso sem a necessidade de soluções externas, como firewalls ou uso intermediário S3. Vejamos o procedimento para configurar SCP e SSH para usá -los com recursos aprimorados.

Configurando SCP e SSH:

Você precisará executar as seguintes etapas de configuração para executar operações SCP e SSH de localhost a ativos em nuvem remotos:

Instalando o agente do AWS Systems Manager em instâncias do EC2:

O que é um agente SSM?

O software SSM Agent da Amazon pode ser instalado e configurado em uma instância EC2, máquina virtual ou servidor no local. O agente SSM permite que o gerenciador de sistemas atualize, controle e personalize essas ferramentas. O agente lida com solicitações do serviço do AWS Cloud System Manager, as executa conforme definido na solicitação e transfere as informações de status e execução de volta ao serviço do Gerenciador de dispositivos usando o serviço de entrega de mensagens da Amazon. Se você rastrear o tráfego, poderá ver suas instâncias do Amazon EC2 e quaisquer servidores no local ou máquinas virtuais em seu sistema híbrido, interagindo com mensagens EC2 terminais.

Instalando o agente SSM:

O agente SSM está instalado em algumas instâncias de imagens do Sistema EC2 e Amazon (AMIS) por padrão, como Amazon Linux, Amazon Linux 2, Ubuntu 16, Ubuntu 18 e 20 e Amazon 2 ECS otimizado AMIS. Além disso, você pode instalar o SSM manualmente em qualquer região da AWS.

Para instalá -lo no Amazon Linux, em primeiro lugar, faça o download do SSM Agent Installer e depois executá -lo usando o seguinte comando:

ubuntu@ubuntu: ~ $ sudo yum install -y https: // s3.região.Amazonaws.com/amazon-ssm-region/mais recente/linux_amd64/amazon-ssm-agent.RPM

No comando acima, “região" reflete o identificador da região da AWS fornecido pelo gerente de sistemas. Se você não pode baixá -lo da região, você especificou, use o URL global i.e

ubuntu@ubuntu: ~ $ sudo yum install -y https: // s3.Amazonaws.com/ec2-downloads-windows/ssmagent/mais recente/linux_amd64/amazon-ssm-agent.RPM

Após a instalação, confirme se o agente está em execução ou não pelo seguinte comando:

ubuntu@ubuntu: ~ sudo status Amazon-ssm-agent

Se o comando acima exibir que o Amazon-SSM-Agent for interrompido, tente estes comandos:

ubuntu@ubuntu: ~ $ sudo start amazon-ssm-agent
ubuntu@ubuntu: ~ sudo status Amazon-ssm-agent

Criando o perfil da instância do IAM:

Por padrão, o AWS Systems Manager não tem autorização para executar ações em suas instâncias. Você deve permitir o acesso usando o perfil instantâneo de identidade e gerenciamento da AWS (IAM). No lançamento, um contêiner transfere dados de posição IAM para uma instância do Amazon EC2 é chamado de perfil de instância. Essa condição se estende às aprovações em todos os recursos do AWS Systems Manager. Se você estiver usando os recursos do gerente do sistema, como o comando de corrida, um perfil de instância com as permissões básicas necessárias para o gerente de sessão já pode ser anexado às suas instâncias. Se suas instâncias já estiverem conectadas a um perfil de instância que inclua a Política gerenciada pela AmazonSSMManagedEnstancore AWS, as permissões de gerente de sessão apropriadas já foram emitidas. No entanto, em casos específicos, as permissões podem ter que ser alteradas para adicionar permissões de gerente de sessão a um perfil de instância. Primeiro de tudo, abra o console do IAM fazendo login no console de gerenciamento da AWS. Agora clique no “Papéis”Opção na barra de navegação. Aqui, escolha o nome da posição a ser incluída na política. Na guia Permissões, escolha adicionar a política embutida localizada na parte inferior da página. Clique na guia JSON e substitua o conteúdo já com ritmo pelo seguinte:


"Versão": "2012-10-17",
"Declaração": [

"Efeito": "permitir",
"Ação": [
"Ssmmessages: CreateControlChannel",
"Ssmmessages: CreatedAtachannel",
"Ssmmessages: OpenControlChannel",
"Ssmmessages: Opendatachannel"
],
"Recurso": "*"
,

"Efeito": "permitir",
"Ação": [
"S3: getEncryptionConfiguration"
],
"Recurso": "*"
,

"Efeito": "permitir",
"Ação": [
"KMS: descriptografar"
],
"Recurso": "Nome da chave"

]

Depois de substituir o conteúdo, clique na política de revisão. Nesta página, insira o nome da política em linha, como sessionManagerPermissions, sob a opção de nome. Depois de fazer isso, escolha a opção Criar política.

Atualizando a interface da linha de comando:

Para baixar a versão 2 da AWS CLI da linha de comando Linux, baixe primeiro o arquivo de instalação usando o comando curl:

ubuntu@ubuntu: ~ $ curl "https: // awscli.Amazonaws.COM/AWSCLI-OXE-Linux-X86_64.zip "-o" awscliv2.fecho eclair"

Descompacte o instalador usando este comando:

ubuntu@ubuntu: ~ $ descompacto awscliv2.fecho eclair

Para garantir que a atualização esteja ativada no mesmo local que o já instalado da AWS CLI versão 2, encontre o symlink existente, usando o comando qual e o diretório de instalação usando o comando ls como este:

ubuntu@ubuntu: ~ $
ubuntu@ubuntu: ~ $ ls -l/usr/local/bin/aws

Construa o comando Install usando esta informação SyMLink e Directory e confirme a instalação usando os comandos abaixo:

ubuntu@ubuntu: ~ $ sudo ./AWS/Install--bin-Dir/usr/local/bin--Install-Dir/usr/local/AWS-Cli-Update
ubuntu@ubuntu: ~ $ aws --versões

Instalando o plugin do gerenciador de sessões:

Instale o plug -in do Session Manager no seu computador local, se desejar usar a AWS CLI para iniciar e encerrar as sessões. Para instalar este plug -in no Linux, primeiro, faça o download do pacote RPM e instale -o usando a seguinte sequência de comandos:

ubuntu@ubuntu: ~ $ curl "https: // s3.Amazonaws.com/session-manager-downloads/plugin/mais recente/linux_64bit/session-manager-plugin.RPM "-o" sessão-manager-plugin.rpm "
ubuntu@ubuntu: ~ sudo yum install -y session-manager-plugin. RPM

Depois de instalar o pacote, você pode confirmar se o plug -in está instalado com sucesso ou não usando o seguinte comando:

ubuntu@ubuntu: ~ $ session-manager-plugin

OU

ubuntu@ubuntu: ~ $ aws ssm start-session-alvo id-de-uma instância-você ter permissões para acessar

Atualizando o arquivo de configuração SSH do host local:

Altere o arquivo de configuração SSH para permitir que um comando proxy inicie uma sessão do gerente da sessão e passe todos os dados por meio da conexão. Adicione este código ao arquivo de configuração SSH ritrado em “~/.ssh/config ”:

Usando SCP e SSH:

Agora você estará preparado para despachar conexões SSH e SCP com suas propriedades em nuvem diretamente do seu PC próximo após as etapas mencionadas anteriormente forem concluídas.

Obtenha o ID da instância do ativo em nuvem. Isso pode ser alcançado através do console de gerenciamento da AWS ou do seguinte comando:

ubuntu@ubuntu: ~ $ aws EC2 Descrevansenstances

O SSH pode ser executado como de costume usando o ID da instância como o nome do host, e os switches da linha de comando ssh como este:

Agora, os arquivos podem ser transferidos facilmente para a máquina remota sem a necessidade de um estágio intermediário, usando SCP.

Conclusão:

Os usuários confiam em firewalls há anos para acessar o conteúdo da nuvem com segurança, mas essas opções têm problemas de criptografia e gerenciamento de gestão. Embora a infraestrutura imutável seja um objetivo ideal por várias razões, em certos casos, criar ou manter um sistema vivo precisa de copiar patches ou outros dados para as instâncias ao vivo, e muitos acabarão com a necessidade de obter ou ajustar sistemas executando ao vivo. O Gerente de Sistemas de Sistemas da AWS permite esse recurso sem entrada extra de firewall e a necessidade de soluções externas, como o uso intermediário S3.