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.