En estos pasos damos por entendido que el usuario que esta realizando los pasos es "user1" y en algunos momento "root" para otros cambios. Y tambien esta mis PC es la que tiene instalado el Server OpenSSH an que queremos entrar desde otro PC con Linux o Putty con Windows
Linux donde instalamos el server OpenSSH
Paso 1)
Ver si tenes instala Server OpenSSH
su root /etc/init.d/ssh status
Si no existe el servicio, es porque no esta instalado, si existe pasa al paso 3
Paso 2)
Instalar Server SSH ponemos todo "YES"
su root apt install openssh-server
Paso 3)
Configurar el server para poder entrar solo con clave y cambiar alguna parámetros por seguridad.
echo '' > /var/log/sshd_bannersCambiar el archivo sshd_config con
su root nano /etc/ssh/sshd_config
Protocol 2 # <= inserta si no esta en el archivo
Port 22 # <= Por otro numero distinto al estándar eje 2822
PermitRootLogin no
AllowUsers user1 user2 # <= lista de usuario en el sistema /home/xxx que van a entrar por ssh
PubkeyAuthentication yes
LoginGraceTime 2m
PasswordAuthentication no
PermitEmptyPasswords no
StrictModes yes
UsePAM no
X11Forwarding no # <= Solo si trabajamos en modo consola
PermitTunnel no
UsePrivilegeSeparation sandbox
PrintMotd no
PrintLastLog yes
Banner /var/log/sshd_banners.log
Paso 4)
Generar la clave publica y privada de tipo ED25519 y es recomendable poner un password para mas seguridad a la key que vamos a generar, si alguien te la roba también tiene que saber el password para poder utilizarla. Damos todo entre y ponemos un password o lo dejamos en blanco.
Generar la clave publica y privada de tipo ED25519 y es recomendable poner un password para mas seguridad a la key que vamos a generar, si alguien te la roba también tiene que saber el password para poder utilizarla. Damos todo entre y ponemos un password o lo dejamos en blanco.
ssh-keygen -t ed25519
Paso 5)
Ya tenemos los dos archivos generado en nuevos directorio /home/user1/.ssh/
id_ed25519 <= privada
id_ed25519.pub <= publico
Paso 6)
Crear el archivo "authorized_keys" que va en ese mismo directorio que va ir a buscar el mismo Server OpenSSH, copiamos la key publica a authorized_keys.
cp -p /home/user1/.ssh/id_ed25519.pub /home/user1/.ssh/authorized_keys
Paso 7)
Reiniciamos el servicio de OpenSSH, para que tome todo los cambios.
su root /etc/init.d/ssh restart
Paso 8)
En la misma Pc que tiene el server SSH que es a donde queremos entrar desde windows con Putty por ejemplo. Ya esta listo, el server linux. Lo que nos queda hacer es sacar la clave privada "id_ed25519"
Sacar la key privada para copiarla y llevar a PuTTYgen.
cat /home/user1/.ssh/id_ed25519
Paso 9)
Copiamos todo lo que salio por pantalla, lo guardamos en un archivo key-user1-pri.ppk y pegamos dentro todo.
-----BEGIN OPENSSH PRIVATE KEY-----
b3Bsasasasadwfrrfrferwfewfefewfewcxzffgfdasfsd
........
........
7owz/DzjZrPx1ABOSWlsaskakjsakljfiedGLg/m0=
........
........
7owz/DzjZrPx1ABOSWlsaskakjsakljfiedGLg/m0=
-----END OPENSSH PRIVATE KEY-----
Windows Putty
Paso 10)
Abrimos PuTTYgen => "Load" y buscar el archivo creado antes como ejemplo "key-user1-pri.ppk"
le ponemo el password si lo pide.
Aceptamos el mensaje que muestra el programa.
Y después marcamos "ED25519"
Cuando este marcado, apretar el botón "Save private key" y se puede pisar el archivo cargado o crear una nuevo.
Paso 11)
Abrimos Putty y poner
IP del server linux a conectar
Cambiar el puerto si es distinto a 22
Connection => Data => Auto-login poner el nombre del usuario del key "user1"
Connection => SSH => Auth => Private key ... buscar el archivo nuevo reformatiado con PuTTYgen
Volvemos a Session => Saved Sessions, ponemos un nombre y click en "Save"
Y por ultimo "Open"
Y listo tendría que poder entrar al server OpenSSH sin problema, si tu key tiene password te la va a pedir, si no tiene entrar directo al server.