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.710 ]

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

Cluster de alta disponibilidade para servidores web com Debian 7.1 + Corosync + Pacemaker + DRBD

OpenVPN + Bridge no Ubuntu Server

Configurar uma rede doméstica e compartilhar ADSL no Slackware

Criando servidor de arquivos GNU/Linux com RAID virtual e DFS em rede Windows

OcoMon no CentOS - Instalação e configuração

  
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