Skip to content

SSH Server

rthomaz edited this page Jun 7, 2017 · 14 revisions

O protocolo SSH (abreviatura de Secure SHell) é um protocolo de comunicações que encripta todos os dados trocados, tornando virtualmente impossível a violação da privacidade da comunicação.

O protocolo SSH é extremamente versátil, existindo atualmente software cliente que possibilita o acesso à linha de comandos, transferência de ficheiros e criação de túneis seguros como suportes de comunicações para outros protocolos.

Instalação

O servidor permite se conectar remotamente e é instalado executando como root:

apt-get install openssh-server

Regenerando as chaves do host

Rm /etc/ssh/ssh_host_*

Dpkg-reconfigure openssh-server

Arquivos de configuração

Os arquivos de configuração principais estão no diretório /etc/ssh:

  • ssh_config : arquivo de configuração do cliente
  • sshd_config : arquivo de configuração do servidor

Além disso, este diretório contém os pares de chaves privadas/públicas Identificando seu host:

  • ssh_host_dsa_key
  • ssh_host_dsa_key.pub
  • ssh_host_rsa_key
  • ssh_host_rsa_key.pub

Desde o OpenSSH 5.73, um novo par de chaves privado/público disponível:

  • ssh_host_ecdsa_key
  • ssh_host_ecdsa_key.pub

Desde o OpenSSH 6.54, um novo par de chaves privado/público está disponível:

  • ssh_host_ed25519_key
  • ssh_host_ed25519_key.pub

Configuração

Indicar os endereços onde o serviço responde. Neste caso serão aceites ligações apenas no endereço 192.168.0.100, através da porta 22 e utilizando a versão 2 do protocolo SSH, ficheiro /etc/ssh/sshd_config:

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
ListenAddress 192.168.0.100
Protocol 2

#[...]

Por segurança, o servidor SSH apenas permite o acesso remoto de root sem passwords. Assim, para adquirir privilégios de root, deverá ser efetuado o login como utilizado não privilegiado e em seguida adquirir privilégios de root. Deste modo a password de root não está sujeita a um ataque de força bruta.

#[...]

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

#[...]

Verificar também que não são permitidos logins com passwords vazias:

#[...]

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

#[...]

Reiniciar o serviço:

root@server:~# service ssh restart

Referências

Clone this wiki locally