¿Qué es SSH?
Las siglas corresponden a Secure SHell. Sirve para acceder a máquinas remotas, igual que hace telnet, pero de una forma segura ya que la conexión va cifrada. El transporte se hace mediante TCP, por tanto nos garantiza que las órdenes van a llegar a su destino (conectivo, fiable, orientado a conexión).
Seguridad
El cifrado de SSH proporciona autenticidad e integridad de los datos transmitidos por una red insegura como internet.
Utiliza llaves públicas para la autenticación en la máquina remota.
SSH no sólo sirve para usar comandos en máquinas remotas, sino para transferencias de ficheros de forma segura ya sea por SCP o sFTP y servicios de escritorio remoto. Mirad 25 formas para sacarle partido al SSH
Instalación
Vamos a usar OpenSSH por tanto vamos a instalarlo:
sudo apt-get install openssh-server
Ahora procedemos a su configuración.
Comandos que debemos tener en cuenta
Para editar la configuración del servidor SSH debemos hacer en consola:
sudo gedit /etc/ssh/sshd_config
Para arrancar el servidor:
sudo /etc/init.d/ssh start
Para parar el servidor:
sudo /etc/init.d/ssh stop
Para reiniciar el servidor:
sudo /etc/init.d/ssh restart
Configuración del servidor
Una vez instalado, vamos a configurar el servidor, hacemos en consola:
sudo gedit /etc/ssh/sshd_config
Y podremos editar sus opciones, os pongo mi fichero de configuración y una explicación de lo que podéis cambiar.
# 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 5255
# 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
Si usamos SFTP enjaulado debemos poner esto y comentar la línea (Subsystem sftp /usr/lib/openssh/sftp-server):
Subsystem sftp internal-sftp
Match user servidor
ChrootDirectory /home/jail/home
AllowTcpForwarding no
ForceCommand internal-sftp
Una vez que tengan instalado su servidor SSH, procedemos a conectarnos mediante nuestro cliente.
ssh usuario@ipdelservidor
Si tienen problemas al ingresar ejecuten el siguiente comando
ssh-keygen -R hostnameoipdelservidor
Si lo que encontraste en este Post te sirvió , no te olvides de agradecérselo al Uploader ; Tu comentario y agradecimiento es su única recompensa y estimulo para seguir compartiendo.