Pesquisa de site

Como gerenciar remotamente um servidor Linux com SSH


SSH significa Secure Shell e é um protocolo usado para acessar com segurança um servidor remoto em uma rede local ou Internet para configuração, gerenciamento, monitoramento e solução de problemas, etc.

Neste artigo, discutirei como você pode gerenciar um servidor Linux remoto com a ajuda de SSH.

Executei todos os comandos em minhas máquinas Debian 10.

Pré-requisitos

Você precisa ter o seguinte.

  1. Duas máquinas Debian 10 com privilégios de root.
  2. Um endereço IP, nome de usuário e senha da máquina remota.
  3. Conexão com a Internet em ambas as máquinas.

Como instalar um servidor SSH aberto?

Depois de configurar uma nova máquina Linux em sua infraestrutura, é importante prepará-la para acesso remoto. Portanto, é obrigatório instalar o open ssh em um servidor remoto ou máquina que você está tentando acessar.

Antes de instalar um servidor SSH aberto, execute o seguinte comando para atualizar o repositório.

apt-get update

Aguarde a conclusão da operação.

Após atualizar o repositório, execute o seguinte comando com privilégios de root para instalar um servidor SSH aberto.

apt-get install openssh-server

Quando for solicitada a confirmação, pressione 'y' no teclado e aguarde a conclusão da instalação. Isso pode levar vários minutos para ser concluído.

Definindo as configurações do servidor SSH

Depois que o Open SSh for instalado no lado do servidor, podemos editar suas configurações básicas. Abra o terminal e execute o seguinte comando com privilégios de root.

nano /etc/ssh/sshd_config

A seguir está o exemplo de saída.

Você pode alterar os vários parâmetros no arquivo acima.

Por padrão, o SSH escuta na porta 22. Você pode mudar para a porta desejada. Você também pode alterar o máximo de sessões (MaxSessions) que podem ser estabelecidas com o servidor simultaneamente, 10 é o valor padrão.

Alterando a porta SSH do servidor

Conforme discutimos, o servidor escuta na porta 22 por padrão. Se você deseja configurar seu servidor para escutar uma porta específica, aqui está o procedimento.

Abra o terminal e execute o seguinte comando com privilégios de root.

nano /etc/ssh/sshd_config

Um arquivo deve ser aberto conforme mostrado na imagem acima.

Localize a Porta 22 ou #Port 22 e digite o número da porta desejada sem o sinal #.

Recomenda-se usar o número de porta entre 1024 - 65535 porque as portas 0-1023 são reservadas para serviços específicos.

Suponha que atribua 2222, escreva o seguinte no arquivo de configuração SSH.

Port 2222

Abaixo está o exemplo de saída após alterar o número da porta.

Reinicie o serviço SSH executando o seguinte comando no terminal.

service ssh restart

Habilitando login root no servidor SSH

Por padrão, você não pode fazer login diretamente no servidor SSH com privilégios de root por motivos de segurança. Se quiser habilitar este login, você precisará fazer alterações no arquivo de configuração do servidor SSH.

Abra o terminal e execute o seguinte comando com privilégios de root para abrir o arquivo de configuração.

nano /etc/ssh/sshd_config

Adicione a seguinte linha no bloco de autenticação,

PermitRootLogin sim

Abaixo está o exemplo de saída após fazer alterações no arquivo de configuração.

Reinicie o serviço SSH executando o seguinte comando no terminal com privilégios de root.

service ssh restart

Reduzindo as tentativas de login malsucedidas no servidor SSH

Por padrão, você pode fazer 6 tentativas de login no servidor SSH. Quando o valor atingir metade de 6, falhas de login adicionais serão registradas. Se desejar alterar este valor, será necessário ajustar o parâmetro MaxAuthTries no arquivo de configuração do servidor SSH.

Abra o terminal e execute o seguinte comando com privilégios de root.

Adicione a seguinte linha (suponha que você queira definir esse valor como 1) no bloco Authentication.

MaxAuthTries 1

Abaixo está o exemplo de saída após fazer alterações no arquivo.

Reinicie o serviço SSH executando o seguinte comando no terminal com privilégios de root.

service ssh restart

Abaixo está o exemplo de saída.

Após uma única falha de login, você receberá muitas mensagens de falhas de autenticação, conforme mostrado na captura de tela a seguir.

Forçando o servidor SSH a escutar IPs específicos

Por padrão, o servidor SSH escuta todos os IPs atribuídos ao seu servidor SSH. No entanto, ao fazer alterações no arquivo de configuração, você pode forçar seu servidor SSH a escutar IPs específicos. Aqui está como.

Suponha que eu tenha dois endereços IP (10.1.1.2 e 10.1.1.3) atribuídos à minha interface, conforme mostrado na captura de tela a seguir. Quero forçar meu servidor a escutar o endereço IP 10.1.1.2.

Abra o terminal e execute o seguinte comando com privilégios de root para abrir o arquivo de configuração SSH.

nano /etc/ssh/sshd_config

Adicione a seguinte linha no topo do arquivo,

ListenAddress 10.1.1.2

Abaixo está o exemplo de saída após fazer alterações no arquivo de configuração.

Reinicie o serviço SSH executando o seguinte comando no terminal.

reinicialização do ssh do serviço

Permitir ou negar que usuários ou grupos específicos façam login no servidor SSH

Por padrão, cada usuário pode fazer login remotamente no servidor SSH. No entanto, você pode permitir ou negar que usuários ou grupos específicos façam login no servidor SSH.

Abra o terminal e execute o seguinte comando com privilégios de root para abrir o arquivo de configuração do servidor SSH.

nano /etc/ssh/sshd_config

Abaixo está o exemplo de saída.

Suponha que você queira permitir que apenas o usuário ‘tony’ faça login remotamente no servidor SSH. Nenhum outro usuário poderá fazer login no servidor SSH. Se você tiver vários usuários, eles deverão ser separados por um espaço.

Adicione a seguinte linha no arquivo de configuração do servidor SSH.

AllowUsers tony

Abaixo está o arquivo de configuração de exemplo após adicionar a linha,

Reinicie o serviço SSH executando o seguinte comando com privilégios de root no terminal,

service ssh restart

Da mesma forma, se você quiser permitir que todos os usuários se conectem remotamente ao servidor SSH, mas quiser negar um ou mais, adicione as seguintes linhas no arquivo de configuração do servidor. Os usuários devem ser separados por comando. Suponha que eu queira negar apenas o usuário 'tony', adicione a seguinte linha no arquivo de configuração do servidor.

DenyUsers tony

Abaixo está o arquivo de configuração de exemplo após adicionar a linha acima.

Reinicie o serviço SSH executando o seguinte comando com privilégios de root no terminal.

service ssh restart

Da mesma forma, você pode permitir e negar que grupos de usuários efetuem login no servidor SSH adicionando as seguintes linhas no arquivo de configuração.

AllowGroups <groupname>

ou

DenyGroups <groupname>

Se você tiver vários grupos para permitir ou negar, poderá separá-los com espaço.

A combinação de permitir e negar processada na seguinte ordem.

DenyUsers, AllowUsers, DenyGroups e, finalmente, AllowGroups

Alterando o tempo de carência de login

Por padrão, você tem 2 minutos para fazer login em um servidor remoto após SSH. Se você não conseguir fazer login em um servidor remoto em 2 minutos, o SSH será desconectado. Veja como você pode alterar o tempo de carência de login.

Abra o terminal e execute o seguinte comando com privilégios de root para abrir o arquivo de configuração do servidor.

nano /etc/ssh/sshd_config

Abaixo está o exemplo de saída.

Localize a seguinte linha,

#LoginGraceTime 2m

Substitua esta linha pelo tempo de carência desejado, digamos 1 minuto. A linha completa deve ser,

LoginGraceTime 1m

Abaixo está o arquivo de configuração de exemplo após fazer alterações.

Feche o arquivo e reinicie o serviço SSH emitindo o comando file.

service ssh restart

A máquina Debian 10 que vai acessar uma máquina ou servidor remoto é chamada de cliente e precisamos instalar o 'cliente SSH aberto' nela.

Abra o terminal e execute o seguinte comando para atualizar o repositório.

apt-get update

Aguarde a conclusão da operação.

Assim que o repositório for atualizado, execute o seguinte comando para instalar um cliente SSH aberto.

apt-get install openssh-client

Quando for solicitada a confirmação, pressione Y no teclado. A instalação pode levar vários minutos, portanto, seja paciente.

Execute o seguinte comando no cliente e no servidor para confirmar se o serviço SSH está em execução.

Assim que tivermos o SSH em execução no cliente e no servidor em uma máquina remota, podemos prosseguir com o gerenciamento remoto.

Para se conectar à máquina Debian 10 remota, você precisa ter seu endereço IP, nome de usuário e senha.

A seguir está a sintaxe completa do comando se o seu servidor SSH estiver escutando na porta 22 padrão.

ssh

Será solicitada uma senha de usuário, forneça a ajuda do teclado e pressione Enter.

Suponha que o usuário seja Tony e o endereço IP da máquina remota seja 10.1.1.2. Execute o seguinte comando no terminal.

ssh [email 

Abaixo está o exemplo de saída.

Agora você deve estar conectado com segurança, conforme mostrado na imagem acima.

No entanto, se o seu servidor SSH estiver escutando em alguma outra porta (suponha 2222). A sintaxe completa do comando deve ser a seguinte.

ssh -p usuário@endereço IP

Suponha que o usuário seja Tony e o endereço IP da máquina remota seja 10.1.1.2. Execute o seguinte comando no terminal.

ssh -p 2222 [email 

Conclusão

Então esse foi o tutorial sobre como gerenciar remotamente um servidor Linux com SSH. Espero que você tenha gostado.

Artigos relacionados: