Servidor SSH - Prático e Seguro

Neste artigo, apresento a configuração de um Servidor e cliente SSH para acesso remoto, utilizando chaves pública e
privada, para maior segurança.

[ Hits: 35.933 ]

Por: Anderson Cordeiro em 26/04/2012


O que é o SSH?



Um pouco de teoria.

SSH: significa Secure Shell

Trata-se de um conjunto de padrões que permite estabelecer um canal seguro entre duas máquinas.

É considerado seguro, pois utiliza chave criptográfica pública para identificar um computador remoto (explicarei mais adiante sobre as chaves).

Ou seja, além da criptografia de envio de dados padrão, há também o sistema de criptografia pública e privada para identificar um computador na rede.

Instalação e Configuração do Servidor SSH

Baixando o pacote do SSH:

# apt-get install ssh

Com o SSH devidamente instalado, a primeira coisa que temos que fazer é irmos até seu diretório de configuração:

# cd /etc/ssh

Dentro deste diretório, encontraremos 2 arquivos principais para nossa configuração:
  • sshd_config : Arquivo de configuração do Servidor
  • ssh_config : Arquivo de configuração do cliente

Vamos então, editar o arquivo de configuração do Servidor:

# vi /etc/ssh/sshd_config

Dentro deste arquivo, você encontrará várias linhas que dizem respeito aos arquivos de criptografia de serviço, o que não é muito aconselhável de trocar, então, falaremos das principais linhas:
  • Port 22 - Esse valor é padrão, caso queira alterar a porta onde o SSH vai trabalhar, lembre-se que será necessário toda vez que for iniciar uma conexão com o Servidor, indicar em qual porta se conectar.
  • Protocol 2 - Protocolos aceitos pelo Servidor. O valor já vem padrão nas versões recentes.
  • LoginGraceTime 60 - Essa linha indica o tempo limite, em segundos, que ele terá para fazer o Login após indicar que deseja iniciar uma conexão SSH com o Servidor. Nesse caso: sessenta segundos. Fique à vontade para alterar e testar.
  • PermitRootLogin no - Essa linha diz que você não pode se logar diretamente como root. A ideia é fazer com que a conexão seja feita com usuário normal, e em seguida já na máquina remota, logue-se como root. Isso dificulta a vida de quem quer acessar de forma indevida.
  • AllowUsers anderson maria jose - Caso você não queira liberar o SSH para todo mundo, você pode utilizar esta opção e indicar quais usuários podem se conectar via SSH. Caso esta linha não esteja em seu arquivo, fique à vontade para adicioná-la. Neste exemplo, estou permitindo acesso apenas aos usuários anderson, maria e jose.
  • DenyUsers joao - Essa linha faz o oposto da anterior e bloqueia o acesso SSH para um usuário.
  • PermitEmptyPasswords no - Esta linha permite, ou não, que o SSH aceite senhas vazias. Utilize o padrão 'no', para garantir uma segurança maior.
  • ListenAddress 0.0.0.0 - Como normalmente em um Servidor, você não terá apenas uma placa de rede, essa linha serve para indicar em qual interface o servidor SSH servirá as requisições.
  • Banner /etc/issue.net - Se você quer exibir uma mensagem antes do Prompt de Login, a mensagem é especificada através desta linha. Você pode utilizar esta funcionalidade para listar algumas regras de uso do SSH, por exemplo.
  • x11Fowarding no - Esta linha indica se o Servidor permitirá que os aplicativos executem aplicativos gráficos remotamente. Dependendo da sua velocidade de Upload, isso pode ser um problema. Deixe como 'no'.

Salve o arquivo e reinicie o Servidor:

# /etc/init.d/ssh restart

Faça algumas verificações para ver se o Serviço está rodando, e se está na porta correta:

# ps aux | grep ssh
# nmap localhost -p 22


Obs.: Não se esqueça de alterar a porta, caso tenha alterado no arquivo de configuração.
    Próxima página

Páginas do artigo
   1. O que é o SSH?
   2. Conexão e Criptografia
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instale uma distro dentro de outra

Como configurar os repositórios do apt no Debian 12 em 2025

Instalação ou Recuperação do GRUB

Servidor NTP - Configuração e ajuste de data e hora

Instalando o Linux Ubuntu 8.04 Hardy Heron

  
Comentários
[1] Comentário enviado por dalveson em 26/04/2012 - 11:51h

bem legal, direto, pratico e didatico.
Parabens

[2] Comentário enviado por andersonnf em 26/04/2012 - 11:54h

Obrigado meu amigo!

[3] Comentário enviado por asdf2 em 26/04/2012 - 13:50h

belo tutorial, simples e completo, valeu demais

[4] Comentário enviado por jonatas.baldin em 27/04/2012 - 13:59h

Ótimo tutorial. Simples, completo e prático!

[5] Comentário enviado por fabio em 28/04/2012 - 19:37h

Esse cara é fera!

[6] Comentário enviado por m4cgbr em 06/05/2012 - 01:04h

Ótimo artigo!

Uma observação é que tem vários artigos (principalmente os mais antigos) que na hora de gerar a chave usam a DSA ao invés da RSA, isso ocorreu porque antigamente a chave RSA era protegida por patente o que hoje já não é mais.

Recomendo o uso da chave RSA por suportar um valor maior que 1024 bits de criptografia.

Fica a dica.

[7] Comentário enviado por andersonf23 em 07/05/2012 - 19:10h

Muito bom!
Parabéns!

[8] Comentário enviado por eduardotreska em 21/05/2012 - 02:43h

Muito bom o artigo.

Apesar de eu já conhecer as dicas dadas, o artigo é de muita serventia naqueles momentos em que a informação parece se perder em nossa cabeça.
:D

Parabéns, ficou realmente show.

[9] Comentário enviado por phrich em 29/06/2012 - 12:42h

Muito bom!

[10] Comentário enviado por inforsol10 em 03/06/2014 - 16:56h

Muito bom vlw :-)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts