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.
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.
sudo apt update && sudo apt upgrade
O pacote que você precisa executar para ter o servidor SSH é fornecido pelo componente openssh-server
do OpenSSH:
sudo apt install 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:
service ssh status
Você também pode usar os comandos SystemD:
sudo systemctl status ssh
Você deve ver algo assim, com a palavra Active
destacada. Pressione q
para retornar ao prompt de comando.
Se no seu caso, o serviço não estiver funcionando, você terá que ativar assim:
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:
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:
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:
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:
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].
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.
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.
Anfitrião adicionado, agora digite a senha
E voila! Você estará logado no seu sistema Ubuntu remotamente!
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.
Fechando a conexão com “exit”
Parando e desativando SSH no ubuntu
Se você quiser parar o serviço SSH, precisará deste comando:
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:
sudo systemctl start ssh
Agora, se você quiser desativá-lo de começar durante a inicialização do sistema, use isto:
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:
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