Volver a Acceso Remoto

Servidor Ssh

Instalación

root@server:~# apt-get 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:

/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.1.100
Protocol 2

#[...]

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.

/etc/ssh/sshd_config
#[...]

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

#[...]

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

/etc/ssh/sshd_config
#[...]

# To enable empty passwords, change to yes (NOT RECOMMENDED)
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:~# service ssh restart

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 192.168.1.100
The authenticity of host ´192.168.1.100 (192.168.1.100)´ can´t be established.
ECDSA key fingerprint is a1:22:11:fd:66:9b:a7:56:44:12:ca:45:e8:87:06:e4.
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:
 
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.
Last login: Sun Feb  8 18:11:22 2015 from 192.168.1.33
fribeiro@server:~$ su - root
Password:
root@server:~#

Referencias