This is an old revision of the document!
DigitalOcean tiene un artículo muy completo
En resumen, el la PC hacia la que se realiza la conexión:
- Si no hay un servidor ssh
sudo apt install openssh-server
- verificar que esté corriendo
sudo systemctl status ssh
- verificar que no esté el firewall al medio
sudo ufw status
- si estuviera activo ufw
sudo ufw allow ssh
- crear las claves
ssh-keygen
sin passphrase
ahora sucede la magia
- Desde la PC que se usa para conectar hacia el host remoto, copiar la clave pública al otro host. Por ejemplo, desde mi PC del trabajo y para conectar al server01, usaría
ssh-copy-id username@server01
ssh-copy-id username@remote_host
Desde Powershell
En PowerShell puedes lograr algo similar al comando `ssh-copy-id` para agregar tu laptop con Windows 10 a la lista de hosts que pueden conectarse con claves SSH en tu servidor Linux.
Puedes hacerlo manualmente copiando la clave pública desde tu laptop a tu servidor Linux. Aquí hay una manera de hacerlo en PowerShell:
1. Primero, asegúrate de tener una clave SSH generada en tu laptop. Si no la tienes, puedes generarla con el comando `ssh-keygen`.
2. Luego, necesitas copiar el contenido de tu clave pública (`id_rsa.pub`) en tu servidor Linux. Puedes hacerlo con PowerShell utilizando algo como esto:
cat ~/.ssh/id_rsa.pub | ssh user@server01 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Esto copiará el contenido de tu clave pública desde tu laptop al archivo `authorized_keys` en el directorio `.ssh` en tu servidor Linux.
Solo asegúrate de reemplazar `user@server01` con tu usuario y la dirección del servidor Linux.
