Instalación

Vamos a usar OpenSSH por tanto vamos a instalarlo:

sudo apt-get install openssh-server

Configuración del servidor

Por seguridad se hace un respaldo del archivo antes de iniciar la configuración:

sudo cp /etc/ssh/sshd_config{,.bak}

Una vez instalado, vamos a configurar el servidor, hacemos en consola:

sudo nano /etc/ssh/sshd_config

Y podremos editar sus opciones, a continuación se muestra el contenido del archivo con la configuración correspondiente:

# Package generated configuration file
# See the sshd_config(5) manpage for details
# Ponemos el puerto a escuchar por el SSH, por defecto es el 22. Deberemos abrir un puerto en nuestro router redirigiendo hacia la IP interna de la máquina donde lo tengamos.
Port 22
# Usaremos el protocolo 2 de SSH, mucho más seguro, por tanto forzamos a que siempre conecten por protocolo 2.
Protocol 2
# HostKeys for protocol version 2. El lugar donde se guardan las keys.
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 2048
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication, importante la parte PermitRootLogin…es vuestra decisión
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile    %h/.ssh/authorized_keys
# Don’t read the user’s ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don’t trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
MaxAuthTries 2

Para arrancar el servidor:

sudo /etc/init.d/ssh start

* Starting OpenBSD Secure Shell server sshd

Para parar el servidor:

sudo /etc/init.d/ssh stop

* Stopping OpenBSD Secure Shell server sshd

Para reiniciar el servidor:

sudo /etc/init.d/ssh restart

Para ver los LOGS de conexión haced esto:

 cat /var/log/auth.log | grep -Ei ssh

Opcional Cambiar los puertos para escuchar por TCP Y UDP en SSH

Cambiar el puerto del ssh es tan sencillo como hacer lo siguiente:

 nano /etc/ssh/sshd_config

Editamos la linea dice

#Port 22

La descomentamos (quitamos la almoadilla) y cambiamos el 22 por el puerto que queramos. Nos tenemos que asegurar de que el puerto que elijamos no esté ya en uso (Aquí tenemos unalista de puertos). Por ejemplo, si elegimos el puerto 27, la línea quedará:

Port 27

Ahora editamos el archivo /etc/services

nano /etc/services

buscamos las líneas:

ssh         22/tcp
ssh         22/udp

y las cambiamos por el nuevo puerto que hemos seleccionado antes:

ssh         27/tcp
ssh         27/udp

Ahora paramos e iniciamos el servidor ssh:

 /etc/init.d/ssh restart

Y ya lo tenemos. A partir de ahora, cuando queramos acceder a nuestro servidor mediante ssh, deberemos especificar el puerto por el que nos queremos conectar. Por ejemplo:

ssh [email protected] -p27

Puede que te salte algún error relacionado con las public keys. Es normal, ya que anteriormente ha detectado movimiento en el puerto 22. Simplemente hay que borrar esos public keys:

rm ~/.ssh/known_hosts

results matching ""

    No results matching ""