Instalação
root@server:~# aptitude install openssh-server openssh-client
Configuração
Todas as configurações do servidor SSH estão no ficheiro /etc/ssh/sshd_config.
Indicar os endereços onde o serviço responde. Neste caso serão aceites ligações apenas no endereço 192.168.1.100, através da porta 22 e utilizando a versão 2 do protocolo SSH:
# 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.1.100
Protocol 2
#[...]
Por segurança, desactivar o login como root. Assim, para adquirir privilégios de root, deverá ser efectuado o login como utilizado não privilegiado e, posteriormente, 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 no
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:~# /etc/init.d/ssh restart
Verificação
Clientes Linux
Deverá ser possível estabelecer uma ligação ssh ao endereço 192.168.1.100.
A primeira vez que essa ligação for efectuada, deverá ser confirmada a ligação, uma vez que o servidor não consta na lista dos sistemas conhecidos do cliente.
fribeiro@laptop:~$ ssh 192.168.1.100
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
RSA key fingerprint is ee:16:b0:c9:1b:ef:b4:64:e1:86:80:f4:36:9f:08:03.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.100' (RSA) to the list of known hosts.
fribeiro@192.168.1.100's password:
Linux server 2.6.32-5-amd64 #1 SMP Fri Oct 15 00:56:30 UTC 2010 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
fribeiro@server:~$ logout
Connection to 192.168.1.100 closed.
fribeiro@laptop:~$
E ligações com o login root não serão aceites:
fribeiro@laptop:~$ ssh -l root 192.168.1.100
root@192.168.1.100's password:
Permission denied, please try again.
root@192.168.1.100's password:
Permission denied, please try again.
root@192.168.1.100's password:
Permission denied (publickey,password).
Clientes Windows
O acesso a partir de clientes Windows é possível com um programa emulador de terminal com suporte ssh, como o Putty:
Obter privilégios de root
Uma vez que o login como root está desligado, o modo de obter privilégios de root numa ligação ssh é através de um utilizado comum e em seguida escalar os privilégios com o comando su:
fribeiro@laptop:~$ ssh 192.168.1.100
fribeiro@192.168.1.100's password:
Linux server 2.6.32-5-amd64 #1 SMP Fri Oct 15 00:56:30 UTC 2010 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Oct 27 11:01:21 2010 from laptop.home.lan
fribeiro@server:~$ su - root
Password:
root@server:~#
Referências
- Referência Debian, 6.9. O servidor de acesso remoto e utilitário (SSH) (http://www.debian.org/doc/manuals/reference/ch06.pt.html#_the_remote_access_server_and_utility_ssh)
- OpenSSH (http://www.openssh.com/)


