Cualquier usuario de Linux preocupado por la seguridad siempre usará el protocolo SSH cuando se conecte a los servidores. Esto se debe a que SSH es un protocolo seguro que cifra los datos o la información que se envía a través de la red. SSH reemplazó protocolos más antiguos e inseguros en los años 90, como telnet y rlogin. En esta guía, analizamos el uso del comando SSH con ejemplos.
De forma predeterminada, SSH se ejecuta en el puerto TCP/IP 22.
Comprobar si el servicio SSH se está ejecutando en un sistema Linux
Si actualmente está conectado a un sistema Linux y desea verificar si SSH se está ejecutando, ejecute el comando
# systemctl status sshd
Salida de muestra
Además, puede comprobar que ssh está escuchando en el puerto 22 de su servidor utilizando netstat
comando como se muestra
# netstat -pnltu
Salida de muestra
Las dos técnicas han confirmado que el protocolo SSH se ejecuta en el puerto 22.
Inicio de sesión en un sistema remoto mediante SSH
Para iniciar sesión en un sistema remoto como usuario raíz desde una máquina Linux, use la siguiente sintaxis:
# ssh root@host-ip-address
Por ejemplo, voy a iniciar sesión en una PC Debian remota IP 173.82.208.144
# ssh [email protected]
Si se está conectando por primera vez, verá el siguiente mensaje
Escribe yes
para agregar el servidor a la lista de known_hosts
ubicado en ~/.ssh/known_hosts
Cada servidor consta de una clave de host que es una clave criptográfica. Esta clave se utiliza para autenticar sistemas mediante el protocolo SSH.
A continuación, se le solicitará la contraseña del sistema remoto. Proporcione la contraseña y presione 'ENTRAR' para iniciar sesión en el sistema.
Iniciar sesión en un sistema como usuario normal
A veces, es posible que desee iniciar sesión en un sistema remoto utilizando la cuenta de un usuario normal si el inicio de sesión raíz remoto está deshabilitado. para hacer esto, siga la siguiente sintaxis
# ssh username@host-ip-address
O
# ssh -l username host-ip-address
Para iniciar sesión como usuario 'john' que reside en el sistema Debian remoto, ejecute el comando
# ssh [email protected]
Salida de muestra
Puede obtener lo mismo usando el siguiente comando.
# ssh -l john 173.82.208.144
Salida de muestra
Configurar la autenticación sin contraseña
A veces, es posible que necesite acceder constantemente a sus sistemas remotos o que tenga servicios que necesiten acceso a estos sistemas. La autenticación de contraseña puede generar pérdida de tiempo o dificultar el acceso a aplicaciones automatizadas que requieren acceso a los sistemas remotos. Por esta razón, es conveniente configurar una autenticación SSH sin contraseña para sus servidores remotos.
Paso 1:generar claves SSH
El primer paso será generar claves SSH en el servidor usando el comando:
# ssh-keygen
Salida de muestra
cuando se le solicite en cada paso, simplemente presione 'ENTRAR' para mantener los valores predeterminados
La clave pública:id_rsa.pub
– se guarda en ~/.ssh/
directorio
Paso 2:Copiar la clave pública SSH al cliente remoto
El siguiente paso será copiar la clave pública generada al sistema cliente remoto. Para lograr esto, usaremos el ssh-copy-id
dominio . El comando copia la clave SSH al cliente remoto como una clave autorizada. Esto permite posteriores inicios de sesión automatizados sin contraseña.
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Salida de muestra
Ahora puede iniciar sesión sin problemas en el sistema Debian remoto sin que se le solicite una contraseña
Salida de muestra
La clave pública se guarda en el sistema cliente en el ~/.ssh/authorized_keys
archivo.
ALGUNOS PUNTOS A TENER EN CUENTA
- Los clientes SSH almacenan claves de host para los sistemas a los que están conectados. Estas claves se denominan
known host keys
y se almacenan en el~/.ssh/
directorio. - Las claves privadas:
id_rsa
solo debe ser accesible para el usuario raíz y no debe copiarse en ningún sistema. Si se filtra a otro tercero, esto puede conducir a ataques de intermediarios en los que los piratas informáticos pueden comprometer los sistemas del cliente.