lunes, 21 de enero de 2008

SSH sin contraseña

Cansado de tener que buscar este tipo de soluciones, molestarme en seleccionar la correctamente explicada y traducirme temporalmente los contenidos, voy a volcar mis notas técnicas en este blog. Disculpad los que tengan que sufrir.
1.- Generamos una pareja de claves pública y privada en la máquina y usuarios, desde el cual accederemos. Esto es como crear una identidad digital, para que los demás nos conozcan. Una cuestion importante antes de esto. Lo recomendable es introducir una frase de paso antes para emplear las claves, pero esto nos obligará a introducirla siempre que las usemos. Mi consejo es que si tu objetivo es no memorizar las claves de cada una de las máquinas, unificando el acceso en una sola clave, adelante. Si tu objetivo es, como fue el mio, emplear esto en scripts, no le pongas clave, pero mucho ojo con los permisos de los ficheros y con la seguridad del usuario en la máquina local:
# ssh-keygen -t rsa.
Esto genera dos ficheros ubicados en /home/"usuario_local"/.ssh :
id_rsa y id_rsa.pub (Claves privada y pública). El primero NUNCA debe de salir de tu equipo, mientras que el segundo debes de incorporarlo a los demás.

2.- Debemos de acceder a la máquina remota, elige tu el sistema, para depositar nuestra identidad. La identidad la debes de depositar en el directorio /home/"usuario_remoto"/.ssh, siendo el "usuario_remoto", el usuario con el cual entras. Dentro de este directorio hay al menos un archivo denominado
authorized_keys. En este AÑADES la línea contenida en el fichero id_rsa.pub. En mi caso me gusta seguir estos pasos:
2.1.- Desde el equipo local, ubicándonos en el directorio .ssh , copiamos el fichero .pub:
local# scp id_rsa.pub eqremoto:/home/"usuario_remoto"/.ssh/importar_clave
2.2.- Añadimos la línea. Ya entrando en la máquina remota:
local# ssh eqremoto
remota# cd /home/"usuario_remoto"/.ssh
remota# cat importar_clave >> authorized_keys
remota# chmod 644 authorized_keys
2.3. La línea chmod evita que alguien no autorizado pueda modificar el fichero. Ya podemos borrar el fichero creado para llevar la clave de la máquina local a la remota.
remota# rm
/home/"usuario_remoto"/.ssh/authorized_keys

(Acepto comentarios y sugerencias de mejora, incluso dudas al respecto.).
Fe de erratas: Se ha corregido un error en el nombre del fichero de claves, faltaba una h.

Gracias.

Complemento:
Para aquellos que necesiten realizar una copia en un dispositivo remoto empleando el ufsdump, tan popular en los Solaris, podéis emplear el método anterior para garantizar que el acceso vía ssh no requiere contraseña, y luego ejecutar el comando siguiente:
# ufsdump 0uf - /dev/md/rdsk/d33 | ssh eqremoto "dd obs=32k ibs=32k
of=/dev/rmt/0n"
Esto está probado entre dos máquinas Solaris y funciona perfectamente.

SOLUCION DE PROBLEMAS:

1.- Una potente manera de resolver problemas en la puesta en marcha de esta solución es arrancar el demonio y el cliente con las opciones de depuración:
Ejecutamos el demonio en la máquina remita:
eqremoto# /usr/sbin/sshd -p 2200 -ddd
(la opción -p indica el puerto del servicio, las 'd's indican los grados de depuración.)
En el caso del cliente hacemos algo similar:
eqlocal# ssh -p 2200 -vvv remota
Ambos terminales nos darán información de las negociaciones para la conexión.

2.- Comparar la identidad de la máquina local con la identidad registrada en la remota puede resultar conveniente.
Os recomiendo en la máquina remota ejecutar lo siguiente:
eqremoto# cat -n /home/"usuarioremoto"/.ssh/authorized_keys
Este enumera las líneas para diferenciar claramente cada una de las claves
eqlocal# cat -n /home/"usuariolocal"/.ssh/id_rsa.pub
Este solo debe de contener una linea y ha de ser idéntica a alguna de las existentes en el equipo remoto.

3.- Debéis de aseguraros que ambas máquinas se identifican correctamente por nombre, es decir, que los nombres de los asociados a cada máquina, están correctamente relacionados en el fichero /etc/hosts.

Libertad para Telefónica

Acabo de leer un artículo francamente interesante. Obviamente su título no es el de esta reseña.

El artículo en cuestión menciona la comunicación de la CMT hacia las operadoras, de las nuevas tendencias en el reglamento que está preparando. En líneas generales, y siempre según el artículo, el objetivo de la CMT es conseguir que se realicen inversiones en nuevas tecnologías orientadas a mejorar las redes e infraestructuras de lo que se denomina la última milla, es decir, hasta la casa del abonado.

¿Cómo lo pretenden realizar?, no forzando los precios de Telefónica en las contrataciones que otras operadoras realicen, sobre estas nuevas infraestructuras. Forzando así
La regulación se justifica, dado que Telefónica ejerce una posición dominante en la ultima milla, en cuanto a pares de cobres tendidos. Ninguna empresa sería capaz de realizar un tendido de cobre similar al de Telefónica y además hacer rentables estas inversiones, en un plazo razonable.
No sucede lo mismo, o esa es la teoría, con las redes de fibra, ya que Telefónica no tiene fibra óptica hasta el abonado, no tiene posición dominante. En resumen, Telefónica tendrá libertad para poner precios a sus tendidos de fibra óptica hasta la el abonado, para la prestación de servicios por parte de otras operadoras, lo que actualmente no sucede con los pares de cobre.

Adicionalmente, se mezcla en el artículo la nueva definición de servicio universal. Tras leer el artículo, no me resulta muy claro si es referido a las nuevas infraestructuras o también para las existentes, pero se abre la puerta a establecer diferentes regiones geográficas en las regulaciones de la CMT, es decir, básiamente habrá zonas de primera (competitivas) y zonas de segunda (no competitivas). Las primeras, serán las zonas donde se supone que es muy rentable invertir en infraestructuras y por tanto, no se aplicarán condiciones especiales a Telefónica, ya que al resto de operadoras también les resulta rentable invertir en despliegue de red. En las zonas de segunda, donde las inversiones no serán rentables (pueblos, aldeas, zonas escasamente pobladas), será la CMT quien marque más estrechamente las reglas y exigencias a la operadora dominante. ¿Cuáles serán estas?.

En el artículo se menciona que este nuevo reglamento es favorable a Telefónica, ya que le entrega un escenario trabajo donde puede luchar con todas sus armas, contra las demás operadoras. Adicionalmente, la diferenciación regulatoria para las zonas competitivas y no competitivas, es una petición de Telefónica desde hace algún tiempo. Esto me hace pensar, unido a las fechas preelectorales, que este anuncio de la CMT resulta muy rentable a nivel político. Promete 100 megas a los usuarios, servicios inimaginables y "libertades" mayores a una de las empresas más grandes de España.
[Espacio para meditar]

Como usuario vicioso del Internet, solo espero que si ahora pago por 4 megas y tengo solo 1 mega, cuando intenten vender los 100 megas, a mi me bajen el precio, o me den lo que pago.