Cómo instalar y configurar el servidor SSH en Debian Linux?
Instalar y probar el servidor SSH
You will need to be root to do the following…
su
-
Instalar servidor SSH
apt install openssh-server
-
Comprobar si existe el proceso del servidor. Esto indica que la instalación ha ido bien.
ps -A | grep sshdSalida (o similar):
1753 ? 00:00:00 sshd -
Instalar cliente SSH para comprobar la conexión del servidor SSH
apt install openssh-clientConectarse al servidor local para probar la conexión
ssh localhostTambién sesión con la dirección IP de la interfaz
Obtener dirección IP
ip addrSSH a la dirección IP
ssh {ipaddress here}
Securing the SSH Server
It is a good idea to secure the SSH server by disallowing root to login and configuring login only by public key i.e. login using passwords is not allowed
Ensure to execute the following commands as your user and not as root
-
Navigate to the user home directory
cd
-
Check if .ssh exists
ls -a
-
If .ssh does not exist, create it
mkdir .ssh
-
Set the folder permission to 700
chmod 700 .ssh
-
Create the authorized_keys file
touch ./.ssh/authorized_keys
-
Change permission on the authorized_keys file to 600
chmod 600 ./.ssh/authorized_keys
-
Open the authorized_keys file
nano ./.ssh/authorized_keys
-
Paste your public key into the file
You can get your public key from the SSH client. If the client is Windows 10 then it will be in the
%USERPROFILE%/.ssh/id_rsa.pubarchivo. If the client is Debian then the public key is~/.ssh/id_rsa.pub.If your public key does not exist, generate it on the client machine
ssh-keygen -t rsa -C "email@domain.com"
-
Cambio de usuario root
su -
Configure your SSH server to accept only public key logins and prevent login for root
nano /etc/ssh/sshd_configUncomment and/or edit the following lines
PermitRootLogin no
StrictModes yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication no
-
Restart the sshd service
service sshd restart
-
Try logging in as root from your SSH client using password
ssh root@{ssh server ip address}Salida:
Permission denied (publickey). -
Try logging in as username from your SSH client using password
ssh username@{ssh server ip address}Salida:
Permission denied (publickey). -
Try logging in as root from your SSH client using the public key
ssh root@{ssh server ip address} -i .ssh/id_rsaSalida:
Permission denied (publickey). -
Log in as username from your SSH client using the public key
ssh username@{ssh server ip address} -i .ssh/id_rsa
If your SSH client has a static IP address then you may want to consider only your IP address can login to the SSH server.
