Buenas tardes, esta vez vamos a hacer unas cosillas que por lo general deberia hacer un administrador de sistemas que tiene a su cargo varios equipos corriendo Linux/Unix.
En mi caso tengo varios servicios corriendo sobre LInux y otros sobre Unix, hablo de Unix por que FreeBSD es un Unix no Linux.
Bien, mi estacion de trabajo se basa en Ubuntu 9.04, y de ahi adminstro todos mis equipos, soy fan de putty, ssh es una bendicion del senor para nosotros los administradores de equipo Linux/Unix.
Por seguridad, es preferible accesar a nuestros servidores atraves de un canal seguro como ssh, no instalar nada referente a Xorg y por ultimo nunca accesar con ssh atraves de username + password.
Por que no falta el chistosito que va a querer tratar de entrar a nuestros equipos usando fuerza bruta, un password mezclado y con mas de 8 caracteres es bueno, pero para que permitir esto, nomas gasta nuestro preciado cpu.
Por ello el metodo de clave publica+clave privada es una gran solucion.
Vamos a empezar, ya tenemos instalado putty + putty-tools. En windows el puttygen es un cliente grafico, aqui en nuestros mundo Linux/Unix creo que es solo via consola, no problema estamos acostumbrados a estos pequenos inconvenientes, aunque tiene su gran ventaja...
Supongamos que en ubuntu mi usuario es "morrito", entonces abrimos una terminal y por default nos va a poner en el home folder del usuario "morrito".
Generamos un folder llamado keys:
mkdir keys
Accesamos ese folder:
cd keys
Lo que sigue es la generacion de las llaves, para ellos vamos a usar el comando puttygen con los siguientes paramatros:
-t rsa
-b 1024
-O private
-o nombrearchivo
Asi que lo hacemos:
morrito@ubuntu:~/keys$ puttygen -t rsa -b 1024 -O private -o ubuntu
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++
+++++
Enter passphrase to save key:
Re-enter passphrase to verify:
Pueden o no darle una password, yo en mi caso no lo deseo. Solo le doy enter+enter y listo, tengo un archivo llamado ubuntu con mi llave publica y privada:
Al abrirlo tenemos algo asi:
cat ubuntu
PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: rsa-key-20091109
Public-Lines: 4
AAAAB3NzaC1yc2EAAAABJQAAAIBzhdRANoU6VDfC+HxZaLnpI8FsJNKpZbENyh2e
3ar5m+WL+8XW2vFG3SADN0EJFBcuJmF3pz6cSyb18k0AeX5Z1yfOwA2tZhlYQIet
qF/cP2JMgYIOGZWZF24cXC5BvZ0xHIjPaI7SIMxpa14HRy0T32rrL3Gwl81PrqMa
e06cUw==
Private-Lines: 8
AAAAgAY+ldn1G/VQqRF1NydtcdVAM/gB/YydtosfrpL3OaygpJ/Ia48SwO8S3yLE
t2hGRnEygc8dzAhyw9Xxa/IwFKrVzR3jTP1RQ0mnNJJJNt5QyMEk85RkI8fbTgLn
zz4y3PPvaKvLtDHtXdvXlXvLxqojd8d12DnzZkSvTR9bOSX9AAAAQQDfhwr3zpGE
2ty7HmuJoKhTZO6zwnhtZn0e+9lHGYYZ6Rf3imsYr7KaU9Z0Z35UdDm8YEgtAFgo
SKBXGQ1Un/cPAAAAQQCEThrbLs2B4ajwHK/USCMVe2iiJVxvmSqfTw1Umrz2vHhX
7foXWYPfMC/iqRa43Y6S4rj+UShYoLisd0kPDWZ9AAAAQEkmMSahz7hVq8qPrvJP
Xe0hDSFK79Ll+gMy3Hnao1ls7/7SSq8qF3m5kYyHnpaRZAhCx7/zuqk5OuYO5h0i
f2Q=
Aqui tenemos dos secciones, la seccion publica y privada, vamos separando las secciones, empezamos por seccion publica:
Public-Lines: 4
AAAAB3NzaC1yc2EAAAABJQAAAIBzhdRANoU6VDfC+HxZaLnpI8FsJNKpZbENyh2e
3ar5m+WL+8XW2vFG3SADN0EJFBcuJmF3pz6cSyb18k0AeX5Z1yfOwA2tZhlYQIet
qF/cP2JMgYIOGZWZF24cXC5BvZ0xHIjPaI7SIMxpa14HRy0T32rrL3Gwl81PrqMa
e06cUw==
Ahora la seccion privada:
Private-Lines: 8
AAAAgAY+ldn1G/VQqRF1NydtcdVAM/gB/YydtosfrpL3OaygpJ/Ia48SwO8S3yLE
t2hGRnEygc8dzAhyw9Xxa/IwFKrVzR3jTP1RQ0mnNJJJNt5QyMEk85RkI8fbTgLn
zz4y3PPvaKvLtDHtXdvXlXvLxqojd8d12DnzZkSvTR9bOSX9AAAAQQDfhwr3zpGE
2ty7HmuJoKhTZO6zwnhtZn0e+9lHGYYZ6Rf3imsYr7KaU9Z0Z35UdDm8YEgtAFgo
SKBXGQ1Un/cPAAAAQQCEThrbLs2B4ajwHK/USCMVe2iiJVxvmSqfTw1Umrz2vHhX
7foXWYPfMC/iqRa43Y6S4rj+UShYoLisd0kPDWZ9AAAAQEkmMSahz7hVq8qPrvJP
Xe0hDSFK79Ll+gMy3Hnao1ls7/7SSq8qF3m5kYyHnpaRZAhCx7/zuqk5OuYO5h0i
f2Q=
A nuestros servidores remotos, vamos a darle la seccion publica y nos vamos a firmar con la seccion privada.
Actualmente accesamos via ssh atraves de usuario+password, lo tenemos que hacer para poder llevar a cabo esto.
Accesamos a nuestro servidor corriendo centos 5.4, lo hacemos con root, ya dentro de la consola, nos vamos a el foder de ssh:
cd .ssh
Ahi dentro acreamos un archivo de nombre "authorized_keys":
touch authorized_keys
lo abrimos y estar limpio, ahi dentro pegamos la seccion publica de nuestra nueva llave y la dejamos toda en una sola linea:
AAAAB3NzaC1yc2EAAAABJQAAAIBzhdRANoU6VDfC+HxZaLnpI8FsJNKpZbENyh2e
3ar5m+WL+8XW2vFG3SADN0EJFBcuJmF3pz6cSyb18k0AeX5Z1yfOwA2tZhlYQIet
qF/cP2JMgYIOGZWZF24cXC5BvZ0xHIjPaI7SIMxpa14HRy0T32rrL3Gwl81PrqMa
e06cUw==
Recordar, debe quedar todo en una sola linea, al inicio de la linea deben agregar este parametro:
ssh-rsa
Entonces quedaria asi:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBzhdRANoU6VDfC+HxZaLnpI8FsJNKpZbENyh2e
3ar5m+WL+8XW2vFG3SADN0EJFBcuJmF3pz6cSyb18k0AeX5Z1yfOwA2tZhlYQIet
qF/cP2JMgYIOGZWZF24cXC5BvZ0xHIjPaI7SIMxpa14HRy0T32rrL3Gwl81PrqMa
e06cUw==
No importa que aqui no se observe, pero en su archivo debe todo quedar en una sola linea, y debe iniciar con el parametro "ssh-rsa", seguido de un espacio y enseguida toda su firma.
Salvamos.
Lo que sigue es abrir el putty, configurar la cuenta para su cliente, ahora lo que cambia es como autentificarse, aqui se van a la seccion: Connection->SSH->Auth.
Ahi viene un campo donde le vamos a dar la clave privada de nosotros, recuerda el archivo de nombre "ubuntu"?
Bueno pues ese archivo lo guardamos en /home/morrito/keys/, se lo damos a putty.
Nos vamos a la seccion: Connection->Data y ahi le ponemos el nombre del usuario del servidor remoto con el cual nos deseamos autentificar, en nuestro caso es "root".
Salvamos y ahora si, cuando nos logiemos no nos debe pedir ya mas el usuario o password, se tiene que ir derechito.
Esta es la forma mas segura de accesar via ssh a un servidor.
Lo mismo hacemos con FreeBSD, esto me ha funcionado con Gentoo, FreeBSD, Centos, tanto desde Windows como Linux.
Saludos!!!
No hay comentarios:
Publicar un comentario