viernes, 28 de enero de 2011

SSH mikrotik con llaves + putty

Siguiendo con Mikrotik hace un tiempo que quería probar a ejecutar comandos por SSH sin tener que autenticarme por ejemplo con plink como en este post.

Manos a la obra y voy a tomar pedazos de otro post que escribí sobre como generar las llaves de Windows con puttygen.

Primeramente descargamos los programas necesarios

Putty Cliente de putty
PuTTYgen – Herramienta para la generación de llaves DSA y RSA

Generación del par de llaves.

Para generar las llaves: privada y pública, ejecute la aplicación PuTTYgen.exe.

Seleccione la siguiente configuracion.

Type of key to generate: SSH2-DSA (Importante solo soporta DSA mikrotik)
Number of bits in generated key: 1024
Action: Generate.

La aplicación le pedirá que mueva el ratón sobre la ventana por unos momentos para generar con esta información valores al azar.

Deje vacíos los campos Key passphrase y Confirm passphrase (*).

Presione el botón Save private key y almacene la llave privada en una hubicación conocida. Guárdela con el nombre keyMikrotik.ppk

Abrimos el notepad y lo que vamos a hacer es copiar el contenido del casillero del Puttygen "Public key for pasting into OpenSSH authorized keys file:"
y lo pegamos
Ponemos Archivo-> Guardar Como -> keymikrotik.pub y en tipo de Documentos "Todos los archivos" de manera que no lo guarde como un .TXT

Ahora tenemos que subir "keymikrotik.pub" y tenemos distintas formas , puede ser por FTP

ftp 10.0.0.1
user admin
put keymikrotik.pub (asumiendo que estamos en el mismo directorio donde la guardamos)

Sinó mejor abrimos Winbox --> Files y arrastramos el archivo directamente dentro de la ventana.

Paso siguiente Winbox --> New Terminal y ponemos el siguiente comando

user ssh-keys import file=keymikrotik.pub

user: admin

Si todo salió bien nos devuelve el prompt sin mensajes.

Configuración del cliente de putty.

Inicie a PuTTY.exe y realice la siguiente configuración.

Session:
Host Name: Dirección IP o nombre FQDN del servidor SSH.
Connection Type: SSH.
Saved Sessions: Nombre para la sesión.
Connection: --> Data--> Auto-login username: nombre de usuario (opcional).
SSH:--> Preferred SSH protocol version: 2.
SSH ---> Auth: Presione el botón Browse y ubique el archivo de la llave privada (keymikrotik.ppk).
Vuelva a la rama Session y presione el botón Save para guardar la configuración recién especificada.

Si todo salió bien ya podemos usar plink para ejecutar comandos sin usar contraseña por ejemplo

plink -load "NombreSesiónMikrotik" "/ip firewall nat print"

Solo queda apelar a nuestra imaginación para hacer cosas....

Script para Mikrotik de DynDNS

Cuanto tiempo sin escribir! La verdad que mucho trabajo por suerte. Tengo varios temas pendientes sobre distintos temas , espero poder poco a poco ir plasmando las nuevas experiencias. Basta de palabras y manos a la obra. Este es un script que saqué del Wiki de mikrotik o no se donde y le hize algunas mini modificaciones y ahora si me anda...



Tengo puesto en system -> sheduler que cada 2 minutos chequee si cambió la ip y actualize.

La verdad que muy bueno Mikrotik hace un tiempo que lo vengo usando y es muy flexible.