Gracias al mundo conectado en el que vivimos, ya no necesita tener acceso físico a su servidor. Su servidor puede estar en cualquier parte del mundo y puede conectarse a él desde su máquina local.
Hay muchos protocolos y herramientas que se desarrollan para este propósito. Estos incluyen telnet y ssh . No se prefiere Telnet debido a problemas de seguridad. Por otro lado, ssh es el medio popular de conexión segura a sistemas remotos.
En este artículo, cubriré algunos comandos y herramientas útiles que un usuario de Linux debe conocer para usar un sistema remoto y sus recursos a través de ssh.
Tenga en cuenta que la mayoría de los comandos que ejecuta en su sistema Linux local personal también deberían estar disponibles en el sistema remoto (como ls, cat, cd command, etc.). Pero ejecutarlos depende de los permisos asignados a un usuario remoto como con cualquier sistema Linux/UNIX.
¿Qué es SSH?
El ssh o shell seguro es un protocolo de red para operar servicios de red de forma segura a través de una red. Utiliza estándares de cifrado para conectarse de forma segura e iniciar sesión en el sistema remoto.
Almacena una clave pública en el sistema remoto y una clave privada en el sistema cliente. Estas claves se producen como un par matemáticamente. Cuando ambos se aplican a una función bivariable, dará como resultado un valor que se usará para verificar si el par es válido o no. Esta es la explicación más simple posible. Para obtener más información, consulte esta página.
Ejemplos de uso de SSH
Comencemos con la configuración de ssh y casos de uso realmente geniales.
Generar clave ssh
Sitios web como GitHub y Heroku solicitan su ssh clave pública para que pueda insertar/implementar código sin ingresar una contraseña y no tiene ese par de claves? No te preocupes. Puede generar dicho par de claves ssh con este comando:
ssh-keygen
Solicitará una ubicación de clave (donde se guardará la clave) y una frase de contraseña (es decir, contraseña). La frase de contraseña es opcional.
De forma predeterminada, las claves ssh se almacenan en el directorio .ssh en su directorio de inicio.
Si la ubicación de la clave es DIR_PATH/keypairforssh , habrá dos archivos
- DIR_PATH/par de claves para ssh
- DIR_PATH/par de clavesparassh.pub
1 es el archivo de clave privada que no debe compartir con nadie
2 es el archivo de clave pública que se puede compartir con sistemas remotos (por medio de otra comunicación confiable como correo, transferencia física y otras herramientas de comunicación segura) y servicios como Github, Heroku para los casos de uso respectivos. Asegúrese de verificar minuciosamente el servicio para el que se está conectando.
Añadir clave privada al agente de claves
Cuando se crea el par de claves, solo existe como un conjunto de dos archivos. Para conectarse al sistema remoto, tiene que usar la clave privada. Por lo tanto, se debe informar que este DIR_PATH/keypairforssh es la clave privada.
Esto lo hace
ssh-add keylocation
En nuestro caso, es
ssh-add DIR_PATH/keypairforssh
Conectarse al host remoto a través de SSH
Si la clave privada y la clave pública están en los lugares correctos, puede conectarse al sistema de esta manera.
ssh [username]@hostname
Donde el nombre de usuario debe ser un usuario válido en el sistema remoto y el nombre de host es reconocible por DNS o una dirección IP para que ssh pueda comunicarse con el sistema remoto y solicitar una conexión.
Por ejemplo, para conectarse al sistema denominado “linuxhandbook ” con el nombre de usuario “seeni ” , usa:
ssh [email protected]
Como se explicó anteriormente, el comando anterior usa la clave privada en el sistema local y la clave pública en el sistema remoto y verifica que estos sean pares válidos. Permite iniciar sesión si y solo si el par de claves es válido y genera un shell (el tipo depende de la configuración del usuario en el sistema remoto) para su uso. Puede usar el sistema remoto como si estuviera usando el sistema local.
Supongamos que la clave privada no se agrega al agente de claves, entonces puede iniciar sesión ssh como se muestra a continuación.
ssh -i /path/to/private/key/file [email protected]
Esta verificación de pares de claves generalmente se realiza una vez. Ssh agrega el host remoto a la lista de hosts autorizados para uso futuro.
Copiar archivos entre cliente y sistemas remotos
El comando scp es una herramienta construida sobre ssh. Permite a los usuarios copiar archivos y directorios desde el control remoto al cliente y viceversa.
Dado que el comando scp usa ssh, necesita el mismo requisito que ssh. Significa que la clave pública debe estar en el sistema remoto y la clave privada debe estar en el sistema local.
scp DIR_PATH_1 DIR_PATH_2
Donde DIR_PATH_1/DIR_PATH_2 son rutas que son rutas del sistema de archivos locales o remotas. Por ejemplo, Para transferir ~/Documentos/documentForLinux.txt a 'Manual de Linux 's /home/seeni/Documentos directorio
scp ~/Documents/documentForLinux.txt [email protected]:~/Documents
Para copiar el mismo archivo en dirección inversa,
scp [email protected]:~/Documents/documentForLinux.txt ~/Documents
Montar sistema de archivos o directorio remoto
Para montar directorios de sistemas remotos en el cliente, sshfs es la herramienta
desarrollado para este propósito específico.
sshfs [email protected]:/path/to/remote/folder /path/to/local/mount/point
El comando anterior es totalmente intuitivo. Aquí, 'nombre' es el nombre de usuario aceptado en el sistema remoto y el servidor es el 'nombre de host' remoto.
En algunos sistemas, sshfs puede no estar disponible, instálelo si lo necesita.
Consejo:El comando nohup le permite seguir ejecutando comandos incluso después de desconectar su conexión SSH.
Conclusión
Enhorabuena, llegaste hasta el final. Espero que este artículo cubra todos los comandos y herramientas básicos relacionados con ssh. Estas herramientas son suficientes para comenzar con la computación remota con ssh.
En un artículo relacionado, puede obtener información sobre tmate. Es una herramienta que le permite compartir su sesión de terminal a través de SSH.
Espero que encuentres útil este artículo. Si tiene alguna sugerencia, no dude en dejarla en la sección de comentarios a continuación.