fbpixel
Etiquetas:
0
(0)

El protocolo SSH (Secure Socket Shell) se utiliza ampliamente para conectarse a un servidor remoto o a una máquina conectada a una red. Permite intercambiar archivos y crear, modificar o ejecutar scripts en máquinas remotas.

SSH suele venir instalado de serie en las distribuciones de Linux o Windows.

Descripción del protocolo SSH

El protocolo SSH (Secure Shell) es un protocolo de comunicación criptográfica utilizado para establecer conexiones seguras y confidenciales entre dos sistemas informáticos a través de una red. Su principio se basa en la utilización de métodos de cifrado asimétricos y simétricos para proteger los datos que pasan entre sistemas. La autenticación de los usuarios se realiza generalmente mediante pares de claves criptográficas, compuestas por una clave pública y una clave privada, que garantizan la verificación segura de la identidad del usuario. La principal utilidad de SSH radica en su papel a la hora de proteger el acceso remoto a servidores, transferir archivos seguros y gestionar sistemas a distancia, ofreciendo una sólida protección frente a posibles amenazas, como los ataques de intermediario y la interceptación de datos sensibles.

Abrir una sesión SSH

Para conectarse a un dispositivo

ssh <host>@<serveur>

ejemplo para una raspberry pi

ssh pi@192.168.1.2

Una vez establecida la conexión, el monitor le pedirá la contraseña para acceder al terminal remoto.

Si su máquina remota lo permite, se puede utilizar la etiqueta -X para mostrar las ventanas en su máquina

ssh -X <host>@<serveur>

Copiar un archivo remoto utilizando el protocolo SSH

La commande à utiliser pour copier un fichier d’une machine distante à une autre est la commande scp

scp <source> <destination>

scp root@192.168.1.33:script.py C:\Users\ADMIN

Se solicitará una contraseña para validar la copia.

Iniciar sesión con una contraseña

En Linux, puede instalar y utilizar SSH

sudo apt-get install sshpass
sshpass -p {password} ssh {user}@{ipaddress}

En Windows, Putty puede encargarse de la gestión de contraseñas

Instale PuTTy y añada la carpeta ejecutable a la variable de entorno Path (C:³³ de programa³ PuTTy).

putty -ssh "root@192.168.1.32" -pw root #pour ouvrir une connexion en directe

Para enviar pedidos en directo, utilizamos plink

plink -ssh <username>@<host> -pw <password> <command>

Ejemplo

plink -ssh root@192.168.1.32 -pw root uname -a

Uso de Python para enviar comandos SSH

Utilizamos la biblioteca de subprocesos para ejecutar comandos de terminal

import subprocess

subprocess.Popen(f"ssh {user}@{host} {cmd}", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()

Envío de comandos SSH que requieren contraseña a través de Python

python3 -m pip install paramiko
ssh = paramiko.SSHClient()
#ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #if missing
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("uname -a")
print("connected via SSH")
print(ssh_stdout.read().decode())
ssh.close()

Aplicaciones

Fuentes

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?