Secure Shell, comúnmente conocido como SSH, es como una forma súper segura de hablar con computadoras lejanas, llamadas servidores. Es como un túnel secreto en Internet que mantiene tus conversaciones seguras y privadas. Imagina que estás enviando una carta y, en lugar de enviarla abiertamente, la pones en un sobre mágico que solo tú y la persona a la que se la envías pueden abrir. Eso es lo que SSH hace por las conversaciones con tu computadora.
Este artículo está aquí para ayudar a los principiantes, aquellos que recién comienzan con esto, a comprender cómo usar SSH. Le mostraremos los pasos para usar un comando especial (considérelo como un apretón de manos secreto) para conectar su computadora a un servidor lejano en el mundo de Linux. Al final de esta guía, tendrá más confianza en el uso de SSH para que su computadora se comunique de manera segura cuando trabaje con esos servidores remotos.
¿Qué es SSH?
SSH, o Secure Shell, constituye un protocolo de red criptográfico diseñado para permitir una comunicación segura entre dos sistemas a través de redes que pueden no ser seguras. Este protocolo se emplea ampliamente para el acceso remoto a servidores y la transmisión segura de archivos entre computadoras. En esencia, SSH actúa como un conducto seguro, estableciendo un canal confidencial de comunicación en escenarios donde la red puede plantear riesgos de seguridad. Esta tecnología es fundamental para los profesionales que buscan un método confiable y seguro para administrar servidores y transferir datos confidenciales entre computadoras de manera controlada y protegida. ssh se ejecuta en el puerto TCP/IP 22.
Sintaxis del comando SSH en Linux
La sintaxis básica para usar el comando SSH es la siguiente:
ssh [username]@[hostname or IP address]>
Aquí,
Reemplazar[> username> ]>con el nombre de usuario de su servidor remoto, y[> hostname or IP address> ]>con el nombre de host o la dirección IP del servidor.
establecer intervalo javascript
Requisitos previos
Antes de profundizar en el mundo de SSH, es esencial asegurarse de que se cumplan ciertos requisitos previos. Aquí hay una lista de verificación para garantizar una conexión fluida:
- Estado de la computadora remota:
- Asegúrese de que la computadora remota esté encendida y tenga una conexión de red activa. SSH depende de la conectividad de red y el servidor remoto debe ser accesible.
- Información de identificación:
- Obtenga la dirección IP o el nombre de la máquina remota. Esta información es crucial para dirigir su conexión SSH al servidor correcto.
- Permiso de acceso:
- Asegúrese de tener los permisos necesarios para acceder a la computadora remota. Por lo general, esto implica tener un nombre de usuario y una contraseña válidos para el servidor remoto.
- Configuración del cortafuegos:
- Verifique la configuración del firewall tanto en su máquina local como en el servidor remoto. Las conexiones SSH utilizan un puerto específico (normalmente el puerto 22), por lo que es fundamental asegurarse de que su firewall permita el tráfico SSH. Es posible que se requieran ajustes para permitir una comunicación segura.
Instalar el componente SSH en Linux
Puede ser necesario configurar SSH en Linux, ya que algunas distribuciones no lo vienen preinstalado. Instalar OpenSSH, una implementación SSH ampliamente utilizada, u optar por una solución de interfaz gráfica de usuario (GUI) como el cliente PuTTY para Ubuntu puede solucionar este problema. Aquí hay una guía paso a paso sobre cómo instalar y configurar OpenSSH tanto en el lado del cliente como en el del servidor:
Instalarlo tanto en el cliente como en el servidor
Para sistemas basados en Debian/Ubuntu, abra la terminal y ejecute:
sudo apt install openssh-client openssh-server>
Para sistemas basados en Red Hat como CentOS o Fedora, utilice cualquiera de los siguientes comandos:
sudo dnf install openssh-clients openssh-server>
o
teoría de los autómatas
sudo yum install openssh-clients openssh-server>
Nota : Para verificar el estado del servidor en ejecución después de la instalación, podemos usar este comando systemctl status sshd
En caso de que el servicio no se esté ejecutando, ejecútelo con el siguiente comando:
sudo systemctl start sshd>El comando no imprime una salida.
Para que el servicio se inicie automáticamente al arrancar, ejecute:
sudo systemctl enable sshd>Habilitando el sshd El servicio lo inicia durante el proceso de arranque.
Cómo utilizar SSH para conectarse a un servidor remoto en Linux
En este ejemplo accedemos Ubuntu o Red Hat Linux máquina a través del símbolo del sistema de Windows usando `ssh`
Por ejemplo: si nuestra dirección IP es 10.143.90.2 y el nombre de usuario es Jayesh
¿Qué es el escritorio ini?
Sintaxis para usar ssh para conectarse a un servidor remoto:
ssh [email protected]>
Agregue su nombre de usuario en lugar de Jayesh y agregue su dirección IP en lugar de 10.143.90.2
ssh al sistema linux desde windows
El comando consta de 3 partes diferentes:
- comando ssh indica al sistema que establezca una conexión segura cifrada con la máquina host.
- nombre de usuario representa la cuenta a la que se accede en el host.
- anfitrión se refiere a la máquina que puede ser una computadora o un enrutador a la que se accede. Puede ser una dirección IP (por ejemplo, 192.168.1.24) o un dominio, por ejemplo, www.nombrededominio.com).
Nota: Después de iniciar sesión en la computadora host, los comandos funcionarán como si estuvieran escritos directamente en la terminal host. Usar un par de claves pública-privada o un par de claves SSH para iniciar sesión en el host remoto es más seguro en comparación con el uso de contraseñas.
¿Cómo crear claves público-privadas?
Para generar claves público-privadas usa el comando:
ssh-keygen>

ssh-keygen
java sale del bucle
La clave privada debe permanecer oculta mientras que la clave pública debe copiarse al host remoto. Después de copiar la clave pública al host remoto, la conexión se establecerá utilizando claves SSH y no la contraseña.
Opciones disponibles en ssh
Nota: Aquí, en lugar de usuario y host, agregue el nombre de usuario y la dirección IP a la que desea conectarse. Y localhost es la IP de nuestro sistema local.
| Opciones | Descripción | Sintaxis |
|---|---|---|
| -1 | Obliga a ssh a utilizar únicamente el protocolo SSH-1. | ssh -1 user@host> |
| -2 | Obliga a ssh a utilizar únicamente el protocolo SSH-2. | ssh -2 user@host> |
| -4 | Solo permite direcciones IPv4. | ssh -4 user@host> |
| -6 | Solo permite direcciones IPv6. | ssh -6 user@host> |
| -A | El reenvío de conexión del agente de autenticación está habilitado. | ssh -A user@host> |
| -a | El reenvío de conexiones del agente de autenticación está deshabilitado. | ssh -a user@host> |
| -C | Comprime todos los datos (incluidos stdin, stdout, stderr y datos para conexiones X11 y TCP reenviadas) para una transferencia de datos más rápida. | ssh -C user@host> |
| -C | Selecciona la especificación de cifrado para cifrar la sesión. Se seleccionará un algoritmo de cifrado específico solo si tanto el cliente como el servidor lo admiten. | ssh -c aes256-cbc user@host> |
| -F | Solicita que ssh pase a segundo plano justo antes de la ejecución del comando. | ssh -f user@host command> |
| -gramo | Permite que los hosts remotos se conecten a puertos reenviados locales. | ssh -g -L 8080:localhost:80 user@host> |
| -norte | Impide la lectura desde stdin. | ssh -n user@host command> |
| -pag | Puerto al que conectarse en el host remoto. | ssh -p 2222 user@host> |
| -q | Suprime todos los errores y advertencias. | ssh -q user@host> |
| -EN | Muestra el número de versión. | ssh -V> |
| -en | Modo detallado. Hace eco de todo lo que está haciendo mientras establece una conexión. Es muy útil en la depuración de fallos de conexión. | ssh -v user@host> |
| -X | Habilita el reenvío X11 (reenvío GUI). | ssh -X user@host> |
La t Tres técnicas principales de cifrado Utilizado por SSH.
SSH es significativamente más seguro que otros protocolos como Telnet debido al cifrado de los datos. Hay tres técnicas principales de cifrado utilizado por SSH:
- Cifrado simétrico: Este cifrado funciona según el principio de generación de una clave única para cifrar y descifrar los datos. La clave secreta generada se distribuye entre los clientes y los hosts para una conexión segura. El cifrado simétrico es el cifrado más básico y funciona mejor cuando los datos se cifran y descifran en una sola máquina.
- Cifrado asimétrico: Este cifrado es más seguro porque genera dos claves diferentes: clave pública y privada. Una clave pública se distribuye a diferentes máquinas host mientras que la clave privada se guarda de forma segura en la máquina cliente. Se establece una conexión segura utilizando este par de claves pública-privada.
- Hash: El hashing unidireccional es una técnica de autenticación que garantiza que los datos recibidos no se modifiquen y provengan de un remitente genuino. Se utiliza una función hash para generar un código hash a partir de los datos. Es imposible regenerar los datos a partir del valor hash. El valor hash se calcula tanto en el remitente como en el receptor. Si los valores hash coinciden, los datos son auténticos.
Preguntas frecuentes sobre el comando `ssh` en Linux.
1) ¿Qué significa SSH?
SSH significa Secure Shell.
2) ¿Para qué se utiliza SSH?
SSH se utiliza para conectarse de forma segura a un sistema o servidor remoto. Se puede utilizar para transferir datos entre dos sistemas conectados.
3) ¿En qué puerto se ejecuta SSH?
SSh se ejecuta en el puerto TCP/IP 22.
4) ¿Cómo podemos acceder a una máquina Linux a través del símbolo del sistema de Windows usando SSH?
Podemos acceder a una máquina Linux a través del comando de Windows usando SSH
sintaxis:
ssh user_name@host(IP/Domaimn_name)>
5) ¿Cómo podemos crear claves público-privadas usando SSH?
Usando SSH usando el comando
ml a onzas
ssh-keygen>
6) ¿Cuáles son las tres principales técnicas de cifrado utilizadas por SSH?
Las tres principales técnicas de cifrado utilizadas por SSH son:
- Cifrado simétrico
- Cifrado asimétrico
- hash
(Explicado en el contexto anterior)
7) ¿Cómo uso SSH para conectarme a un servidor remoto en Linux?
Reemplazar ` username`> con su nombre de usuario real y ` remote_server_ip`> con la dirección IP o dominio del servidor remoto.
ssh username@remote_server_ip>
8) ¿Cuál es el comando SSH para conectarse a un servidor con un puerto específico?
Este comando se conecta al servidor remoto mediante el puerto 2222. Ajuste el número de puerto según sea necesario.
ssh -p 2222 username@remote_server_ip>
9) ¿Cómo c ¿Puedo utilizar SSH para transferir archivos entre mi máquina local y un servidor remoto?
Usando SCP para transferencia de archivos. Este comando copia de forma segura el archivo local al destino especificado en el servidor remoto. Ajuste las rutas y los nombres de los archivos en consecuencia.
scp local_file.txt username@remote_server_ip:/path/to/destination/>
Conclusión
En este artículo analizamos Secure Shell (SSH), que es como un túnel secreto y seguro para que las computadoras se comuniquen de forma segura a través de Internet. Esta guía es para principiantes y les ayuda a utilizar SSH para conectar su computadora a servidores lejanos en el mundo Linux. Cubre todo, desde el comando SSH básico hasta requisitos previos como verificar su conexión a Internet y tener los permisos correctos. Aprenderá cómo instalar SSH en Linux, crear claves seguras y utilizarlas para inicios de sesión más seguros. El artículo también incluye preguntas frecuentes con respuestas simples, lo que garantiza que pueda administrar servidores remotos con confianza y seguridad usando SSH en Linux. ¡Es como darle a tu computadora un código secreto para hablar de forma segura en Internet!