Tabela de Conteúdos

2.3.2 Servidor Ssh

Instalación

root@server:~# apt install openssh-server openssh-client

Configuración

Todas las posibilidades de configuración del servidor ssh están en el archivo /etc/ssh/sshd_config.

Para configurar el servidor hay que indicar las direcciones ip donde el servicio va a “escuchar” y “responder”. En este caso son conexiones ligadas a la dirección 192.168.1.100, a través del puerto 22 y utilizando la versión 2 del protocolo ssh:

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
ListenAddress 192.168.1.100

#[...]

Por seguridad, conviene desactivar el login como root. En esta configuración, para adquirir los privilegios de root, hay que iniciar una sesión login con una cuenta de usuario normal y, después, adquirir los privilegios de root. Así se previenen los ataques a la contraseña password de la cuenta root.

#[...]

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password

#[...]

También hay que impedir las sesiones o logins de cuentas sin contraseña (Empty Passwords):

#[...]

#PermitEmptyPasswords no

#[...]

Por último, para que el servicio tome los cambios que se han hecho en el archivo de configuración, se reinicia el servicio:

root@server:~# systemctl restart ssh

Verificación

Clientes Linux

Debe ser posible establecer una conexión ssh a la dirección 192.168.1.100.

La primera vez que se establece la conexión, ésta tiene que ser confirmada, porque el servidor no está registrado en la lista de los sistemas conocidos por el cliente.

fribeiro@laptop:~$ ssh fribeiro@192.168.1.100
The authenticity of host '192.168.56.101 (192.168.56.101)' can`t be established.
ECDSA key fingerprint is SHA256:eC0Wva7QKqCiy5imegiPv/NxfCup3Dmjm1n4aB3LH2I.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.100' (ECDSA) to the list of known hosts.
fribeiro@192.168.1.100`s password:
Linux stretch 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2 (2017-06-12) 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:~$

Las conexiones con el login root no se aceptarán:

fribeiro@laptop:~$ ssh 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).
fribeiro@laptop:~$

Clientes Windows

Se puede acceder desde clientes en el sistema operativo Windows con un programa emulador del terminal que soporte ssh, como Putty:

Obtener privilegios de root

Puesto que la sesión ó login con la cuenta de usuario root está desactivada, la única forma de obtener privilegios de root en una conexión ssh es a través de un usuario común que escala privilegios ejecutando el comando su:

fribeiro@laptop:~$ ssh 192.168.1.100
fribeiro@192.168.1.100´s password:

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:~$ su - root
Password:
root@server:~#

Referencias