root@server:~# apt install openssh-server openssh-client
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
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 buster 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:~$
Se puede acceder desde clientes en el sistema operativo Windows con un programa emulador del terminal que soporte ssh, como Putty:
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:~#