Guia completo para configurar o SSH no Ubuntu

Aprenda a configurar um servidor SSH em um sistema Ubuntu para que você possa se conectar ao servidor remotamente do seu PC.

Guia completo para configurar o SSH no Ubuntu

O SSH tornou-se o método padrão de acessar um servidor Linux remoto nos dias de hoje.

SSH significa Secure Shell e é um protocolo de rede poderoso, eficiente e popular usado para estabelecer comunicação entre dois computadores de forma remota. E não vamos esquecer a parte segura de seu nome; O SSH criptografa todo o tráfego para evitar ataques como seqüestro e espionagem, oferecendo diferentes métodos de autenticação e uma infinidade de opções de configuração.

Neste guia iniciante, você aprenderá:

  • O conceito básico de SSH
  • Configurar o servidor SSH (no sistema que você deseja acessar remotamente)
  • Conectar-se ao servidor remoto via SSH da máquina do cliente (seu computador pessoal)

O básico absoluto sobre SSH

Antes de ver qualquer processo de configuração, será melhor passar pelo conceito básico absoluto de SSH.

O protocolo SSH é baseado na arquitetura do cliente-cliente. O "servidor" permite que o "cliente" seja conectado em um canal de comunicação. Este canal é criptografado e a troca é regida pelo uso de chaves públicas e privadas SSH.

Diagrama SSH

Gráfico baseado em imagem do ssh.com

OpenSSH é uma das ferramentas de código aberto mais populares que fornece a funcionalidade de SSH no Linux, BSD e Windows.

Para uma configuração SSH bem-sucedida, você precisa:

  • Ter componentes do servidor SSH na máquina que atua como o servidor. Isso é fornecido pelo pacote openssh-server.
  • Ter componente do cliente SSH na máquina de onde você deseja se conectar à máquina do servidor remoto. Isso é fornecido pelo pacote openssh-client e a maioria das distribuições Linux e BSD é pré-instalada com ela.

É importante manter uma distinção entre o servidor e o cliente. Você pode não querer que seu computador pessoal atue como servidor SSH, a menos que tenha boas razões em que deseja que outras pessoas se conectem ao seu sistema via SSH.

Geralmente, você tem um sistema dedicado que trabalha como servidor. Por exemplo, um Raspberry PI executando o Ubuntu Server. Você ativa o SSH no Raspberry PI para que você possa controlar e gerenciar o dispositivo do seu computador pessoal principal usando o SSH em um terminal.

Com essa informação, vamos ver como você pode configurar um servidor SSH no Ubuntu.

Configurando o servidor SSH no Ubuntu

Configurar SSH não é complicado e só precisa de alguns passos para fazer isso.

Pré-requisitos

  • Um usuário com os privilégios sudo na máquina do servidor
  • Conexão com a internet para baixar os pacotes necessários
  • Pelo menos outro sistema na sua rede. Pode ser outro computador na sua LAN, um servidor remoto via internet ou uma máquina virtual hospedada no seu computador.

Novamente, a instalação do servidor SSH deve ser feita no sistema que você deseja atuar como servidor e para o qual você deseja se conectar remotamente via SSH.

Etapa 1: instalar pacotes necessários

Vamos começar a abrir uma janela de terminal para inserir os comandos necessários.

Lembre-se de atualizar seu sistema Ubuntu antes de instalar novos pacotes ou softwares para certificar-se de que esteja executando as versões mais recentes.

Comandos para usar no terminal

sudo apt update && sudo apt upgrade

O pacote que você precisa executar para ter o servidor SSH é fornecido pelo componente openssh-server do OpenSSH:

Comandos para usar no terminal

sudo apt install openssh-server

Instalando o Openssh-Server

Etapa 2: verificando o status do servidor

Uma vez que o download e a instalação do pacote for feito, o serviço SSH deve já estar em execução, mas para ter certeza podemos verificar com:

Comandos para usar no terminal

service ssh status

Você também pode usar os comandos SystemD:

Comandos para usar no terminal

sudo systemctl status ssh

Você deve ver algo assim, com a palavra Active destacada. Pressione q para retornar ao prompt de comando.

Verificando o status do serviço SSH

Se no seu caso, o serviço não estiver funcionando, você terá que ativar assim:

Comandos para usar no terminal

sudo systemctl enable --now ssh

Etapa 3: Permitir SSH através do firewall

O Ubuntu vem com um utilitário de firewall chamado UFW (UncomplicatedFirewall) que é uma interface para iptables que, por sua vez, gerencia as regras da rede. Se o firewall estiver ativo, ele poderá impedir a conexão ao seu servidor SSH.

Para configurar o UFW para que permita o acesso desejado, você precisa executar o seguinte comando:

Comandos para usar no terminal

sudo ufw allow ssh

O status do UFW pode ser verificado com sudo ufw status.

Neste momento, nosso servidor SSH está em funcionamento, apenas aguardando uma conexão de um cliente.

Conectando-se ao sistema remoto da sua máquina local

Seu sistema Linux local já deve ter o cliente SSH instalado. Se não, você sempre pode instalá-lo usando o seguinte comando no Ubuntu:

Comandos para usar no terminal

sudo apt install openssh-client

Para se conectar ao seu sistema Ubuntu você precisa saber o endereço IP do computador e usar o comando ssh, assim:

Comandos para usar no terminal

Mude nomedeusuario para o usuário atual no sistema e endereco para o endereço IP da sua máquina Ubuntu.

Se você não sabe o endereço IP do seu computador, você pode digitar ip a no terminal do servidor e verificar a saída. Você deveria ter algo assim:

Ssh encontrar ip

Usando o “ip a” para encontrar o endereço IP

Como pode ser visto aqui meu endereço IP é 192.168.1.111. Vamos tentar conectar usando o formato [email protected].

Comandos para usar no terminal

A primeira vez que você conectar a um servidor SSH, ele irá pedir permissão para adicionar o host. Digite yes e pressione ENTER para continuar.

Conectando pela primeira vez com SSH

Primeira vez que se conecta ao servidor

Imediatamente SSH diz que o anfitrião foi adicionado permanentemente e, em seguida, pede a senha atribuída ao nome de usuário. Digite a senha e pressione Enter mais uma vez.

SSH pedir a senha

Anfitrião adicionado, agora digite a senha

E voila! Você estará logado no seu sistema Ubuntu remotamente!

Conectado com SSH

Conectado!

Agora você pode trabalhar no terminal do seu sistema remoto normalmente.

Fechando a conexão SSH

Para fechar a conexão que você só precisa digitar exit e vai fechá-lo de uma vez, sem pedir confirmação.

Fechar a ligação com saída

Fechando a conexão com “exit”

Parando e desativando SSH no ubuntu

Se você quiser parar o serviço SSH, precisará deste comando:

Comandos para usar no terminal

sudo systemctl stop ssh

Isso irá parar o serviço até que você reinicie ou até que o sistema seja reinicializado. Para reiniciá-lo, digite:

Comandos para usar no terminal

sudo systemctl start ssh

Agora, se você quiser desativá-lo de começar durante a inicialização do sistema, use isto:

Comandos para usar no terminal

sudo systemctl disable ssh

Isso não impedirá que o serviço seja executado durante a sessão atual, apenas de carregar durante a inicialização. Se você quiser deixá-lo começar novamente durante a inicialização do sistema, digite:

Comandos para usar no terminal

sudo systemctl enable ssh

Outros clientes SSH

A ferramenta ssh está incluído na maioria dos sistemas *nix, do Linux ao macOS, mas essas não são as únicas opções que existem. Aqui estão alguns clientes que podem ser utilizados a partir de outros sistemas operacionais:

  • PuTTY é um cliente SSH gratuito para Windows e é de código aberto. Está cheio de recursos e muito fácil de usar. Se você está se conectando à sua máquina Ubuntu de uma estação do Windows, Putty é uma ótima opção.
  • JuiceSSH é uma ferramenta incrível para usuários do Android. Se você estiver em movimento e precisar de um cliente móvel para se conectar ao seu sistema Ubuntu, recomendo dar uma chance ao JuiceSSH. Tem estado por aí há quase 10 anos e é gratuito para usar.
  • E finalmente, Termius está disponível para Linux, Windows, macOS, iOS e Android. Tem uma versão gratuita e também várias opções premium. Se você estiver executando muitos servidores e trabalhando com equipes compartilhando conexões, Termius é uma boa opção para você.

Conclusão

Com estas instruções, você pode configurar o SSH como um serviço de servidor em nossos sistemas Ubuntu para poder se conectar remotamente e seguramente ao seu computador, a fim de trabalhar com a linha de comando e executar qualquer tarefa necessária.

Feliz trabalhando remoto!

Via itsfoss.com. Você pode conferir o post original em inglês:

Complete Guide to Configuring SSH in Ubuntu

Última atualização deste artigo: 29 de may de 2021