Conectar a um Sistema Remoto

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar o comando ssh do Linux para se conectar remotamente e gerenciar outros sistemas Linux. SSH (Secure Shell) é uma ferramenta poderosa para administradores de sistemas e engenheiros de rede, permitindo que você execute uma ampla gama de tarefas remotamente e com segurança.

Conquistas

Ao final deste laboratório, você será capaz de:

  • Usar o comando ssh para se conectar a um sistema remoto com segurança
  • Executar comandos em um sistema remoto usando SSH
  • Compreender os fundamentos da administração de sistemas remotos

Recuperar a Senha do Usuário LabEx

Antes de podermos usar SSH, precisamos saber a senha do usuário labex. Neste ambiente de laboratório, a senha é armazenada como uma variável de ambiente.

  1. Abra uma janela de terminal no ambiente de desktop, apenas o terminal do ambiente de desktop terá as variáveis de ambiente definidas.

Retrieve Password

  1. Para recuperar a senha, execute o seguinte comando.

    printenv | grep PASSWORD
    

    Nota: Você deve executar este comando no terminal do ambiente de desktop, não no terminal que você abriu na barra de menu superior.

    Este comando exibirá todas as variáveis de ambiente contendo "PASSWORD". Procure uma linha que diga LABEX_PASSWORD=.... Os caracteres após o sinal de igual são sua senha.

  2. Anote esta senha, pois você precisará dela para as etapas subsequentes.

Importante: Não tente alterar a senha do usuário labex. O ambiente do laboratório está configurado com esta senha específica, e alterá-la pode fazer com que as etapas de verificação do laboratório falhem. Sempre use a senha fornecida pela variável de ambiente LABEX_PASSWORD durante este laboratório.

Conectar ao Sistema Local Usando SSH

Agora que temos a senha, vamos praticar o uso do SSH para conectar ao sistema local. Isso simula a conexão a um sistema remoto.

SSH connection terminal example

  1. No terminal, use o seguinte comando para conectar ao sistema local usando SSH:

    ssh labex@127.0.0.1
    

    Aqui, 127.0.0.1 é o endereço IP de loopback que se refere à máquina local. É frequentemente chamado de "localhost".

  2. Você pode ver uma mensagem sobre a autenticidade do host. Esta mensagem aparece porque é a primeira vez que você está se conectando a este sistema "remoto". Em um cenário do mundo real, você deve verificar a impressão digital (fingerprint) antes de prosseguir. Para este laboratório, digite yes e pressione Enter para continuar.

  3. Quando solicitado a senha, insira a senha que você recuperou na Etapa 1. Você não verá a senha enquanto a digita.

  4. Se for bem-sucedido, você verá um novo prompt. Isso indica que você está agora conectado via SSH, mesmo que ainda esteja na mesma máquina.

  5. Para sair da sessão SSH, digite exit e pressione Enter. Isso o retornará à sua sessão de terminal original.

Executar um Comando Simples Usando SSH

Vamos praticar a execução de um comando no sistema "remoto" usando SSH. Isso é útil quando você precisa executar um comando rápido sem iniciar uma sessão SSH completa.

  1. Use o seguinte comando para listar o conteúdo do diretório home no sistema local via SSH:

    ssh labex@127.0.0.1 'ls -l ~'
    

    Este comando se decompõe da seguinte forma:

    • ssh: O comando para iniciar uma conexão SSH
    • labex@127.0.0.1: O usuário e o endereço IP ao qual estamos nos conectando
    • 'ls -l ~': O comando que queremos executar no sistema remoto, entre aspas
  2. Insira a senha do usuário labex quando solicitado.

  3. Você deve ver a saída do comando ls -l ~, mostrando o conteúdo do diretório home. Esta saída está vindo do sistema "remoto", embora na verdade seja a mesma máquina.

  4. Observe como você não entrou em uma sessão SSH completa desta vez. O comando foi executado e você foi imediatamente retornado ao seu terminal original.

Usar SSH com Alocação de Pseudo-Terminal

Alguns comandos exigem um pseudo-terminal para execução adequada, especialmente comandos interativos ou aqueles que produzem saída formatada. Vamos praticar o uso da opção -t com SSH para forçar a alocação de pseudo-terminal.

  1. Execute o seguinte comando para visualizar o tempo de atividade (uptime) do sistema:

    ssh -t labex@127.0.0.1 'uptime'
    

    A opção -t força o SSH a alocar um pseudo-terminal. Isso pode ser necessário para comandos que esperam ser executados em um ambiente interativo.

  2. Insira a senha do usuário labex quando solicitado.

  3. Você deve ver a saída mostrando há quanto tempo o sistema está em execução, juntamente com informações sobre a média de carga.

  4. Agora, vamos tentar um comando interativo. Execute o seguinte:

    ssh -t labex@127.0.0.1 'top -n 1'
    

    Isso executará o comando top, que geralmente fornece uma visualização interativa dos processos do sistema, mas aqui estamos usando a opção -n 1 para sair após uma iteração.

  5. Novamente, insira a senha do usuário labex quando solicitado.

  6. Você deve ver uma saída formatada mostrando os principais processos em execução no sistema.

Criar e Acessar um Arquivo Remoto

Vamos praticar a criação de um arquivo no sistema "remoto" e acessá-lo. Isso demonstra como você pode manipular arquivos em um sistema remoto usando SSH.

  1. Use SSH para criar um arquivo chamado remote_test.txt no diretório home do sistema remoto:

    ssh labex@127.0.0.1 'echo "This is a test file created remotely" > ~/remote_test.txt'
    

    Este comando usa SSH para executar um comando echo no sistema remoto, que então envia texto para um novo arquivo.

  2. Agora, vamos visualizar o conteúdo do arquivo que acabamos de criar:

    ssh labex@127.0.0.1 'cat ~/remote_test.txt'
    

    O comando cat é usado para exibir o conteúdo do arquivo.

  3. Você deve ver a mensagem "This is a test file created remotely" exibida no seu terminal.

  4. Vamos confirmar a presença do arquivo listando-o:

    ssh labex@127.0.0.1 'ls -l ~/remote_test.txt'
    

    Isso mostrará os detalhes do arquivo, incluindo permissões, tamanho e data de criação.

Resumo

Neste laboratório, você aprendeu como usar o comando ssh para se conectar remotamente e gerenciar sistemas Linux. Você praticou a recuperação de uma senha de usuário de variáveis de ambiente, a conexão a um sistema local via SSH (simulando uma conexão remota), a execução de comandos remotamente, o uso de SSH com alocação de pseudo-terminal e a criação e acesso a arquivos em um sistema "remoto".

Essas habilidades são fundamentais para administradores de sistemas e qualquer pessoa que precise gerenciar sistemas Linux remotamente. Lembre-se, embora tenhamos usado o sistema local para prática, esses mesmos comandos e técnicas podem ser usados para se conectar e gerenciar sistemas verdadeiramente remotos através de uma rede ou da internet.

Sempre priorize a segurança ao trabalhar com sistemas remotos. Use senhas fortes, mantenha seus sistemas atualizados e considere medidas de segurança adicionais, como autenticação baseada em chave para ambientes de produção.

À medida que você continua sua jornada em administração de sistemas, você descobrirá que o SSH é uma ferramenta indispensável para gerenciamento e solução de problemas remotos.