Putty, SSH y claves RSA. Acceder a un servidor Linux desde Windows con Putty y claves RSA

En una entrada anterior expliqué cómo acceder por SSH a un servidor o equipo remoto sin introducir ni usuario ni contraseña entre equipos Linux o Unix (OS X incluido). En esta entrada voy a explicar cómo hacer lo mismo desde un equipo Windows, usando la aplicación de acceso remoto Putty.

Lo primero que tenemos que hacer es descargar e instalar Putty. Instala varias aplicaciones

Putty

Ejecutamos PuTTYgen para generar la clave pública/privada RSA (SSH-2) de 2048 bits. Selecciono estas dos opciones.

PuttyGen-Key-Generator

A continuación muevo el ratón por la zona vacía para generar aleatoriedad en la creación de las claves.

PuttyGen-Key-Generator

Y ya tengo generadas las 2 claves RSA.

PuttyGen-Key-Generator

Tras generar las 2 claves, las guardo, por ejemplo, en un directorio llamado “my_keys” en “Mis documentos”:

  • Clave pública: rsa-key-servidor
  • Clave privada: rsa-key-servidor.ppk

A continuación copio la clave pública haciendo clic con el botón derecho del campo que indica “Public key for pasting into OpenSSH authorized_keys file:”, usando los comandos “Seleccionar todo” y “Copiar”. Es importante comprobar que la clave empiece por el texto ssh-rsa AAAA.

PuttyGen-Key-Generator

Lo siguiente que tengo que hacer es acceder al servidor con el usuario que estoy configurando y pegar esta clave al final del archivo ~/.ssh/authorized_keys. En el peor de los casos, que no tenga creado el archivo ni el directorio .ssh, ejecuto los comandos:

# Creo el directorio
mkdir ~/.ssh
# Cambio los permisos para que solo pueda acceder el propietario
chmod 0700 ~/.ssh
# Creo el archivo vacio
touch ~/.ssh/authorized_keys
#Cambio los permisos del archivo
chmod 0644 ~/.ssh/authorized_keys

Y en este archivo “authorized_keys” tengo que pegar al final del archivo la clave pública copiada en el paso previo.

A continuación tengo que configurar Putty. Lo ejecuto.

En la sección Session introduzco los datos del servidor remoto: IP o host (campo “Host Name (or IP address)“) y puerto (campo “Port“).

Putty-RSA-login-configuration

En la sección Connection -> Data introduzco el nombre de usuario (campo “Auto-login username”) en el servidor remoto para el que estoy configurando las claves.

Putty-RSA-login-configuration

En la sección Connection -> SSH -> Auth le indico la ubicación de la clave privada (extensión .ppk) creada previamente.

Putty-RSA-login-configuration

Ya solo me queda guardar la sesión con un nombre determinado, que en este caso será la IP del servidor al que me quiero conectar, ya que es un servidor de la red local y lo identifico fácilmente. Para ello voy a la sección Session, selecciono una sesión existente (o creo una nueva introduciendo el nombre en el campo “Saved Sessions“) y hago clic en el botón “Save“.

Putty-RSA-login-configuration

Ya tengo todo configurado. Para conectarme automáticamente al servidor bastará con que haga doble clic sobre la sesión guardada.

Más información:

:wq

Acceder por SSH a un servidor o equipo remoto sin introducir ni usuario ni contraseña

Cuando nos conectamos a un servidor para poder administrarlo lo solemos hacer por SSH (espero que no uses telnet u otros métodos no seguros 😉 ). Tras instalarlo, para acceder usamos un usuario y una contraseña y empezamos a administrarlo.

Una de las implementaciones más habituales es OpenSSH (OpenBSD Secure Shell), un proyecto que nació en el año 1999 y cuya finalidad, tal y como indican en su web es:

OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on. Users of telnet, rlogin, and ftp may not realize that their password is transmitted across the Internet unencrypted, but it is. OpenSSH encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other attacks. Additionally, OpenSSH provides secure tunneling capabilities and several authentication methods, and supports all SSH protocol versions.

Esta implementación está presente, tanto la parte de cliente como la de servidor, en la mayoría de máquinas no Windows: BSD (OpenBSD, FreeBSD, NetBSD,…), Cygwin, Mac OS X a partir de la versión 10.1, IBM AIX, Sun Solaris, máquinas Cisco, Novell NetWare, máquinas Dell, HP-UX, máquinas Juniper y todos los Linux.

La suite OpenSSH reemplaza rlogin y telnet con ssh, rcp con scp y ftp con sftp. También incluye la implementación del servidor, sshd, y otras utilidades, tales como ssh-add, ssh-agent, ssh-keysign, ssh-keyscan, ssh-keygen y sftp-server.

Como podemos ver es una suite de comunicaciones segura, muy completa y de uso muy extendido.

En este artículo explico como configurar un equipo con alguno de los sistemas operativos en los que podemos instalar OpenSSH y con el cuál queremos acceder desde una consola a un servidor mediante SSH sin tener que introducir contraseñas.

Para esto utilizaremos autentificación de clave pública; es decir, tenemos una clave pública y otra privada que usaremos para autentificarnos ante otros sistemas, como en este caso ante un servidor remoto.

Lo primero que hacemos en el equipo local es generar el conjunto de claves pública y privada. Para ello usamos el comando ssh-keygen, que permite la creación de claves de autentificación. Nos pedirá la ruta y el nombre del archivo que le vamos a dar a la clave privada (a la pública le añade la extensión .pub) y una contraseña de acceso para cuando queramos acceder a la clave privada. Si estáis en un equipo local controlado por vosotros podéis dejarla vacía.

$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa): /home/usuario/.ssh/usuario_local
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/usuario_local.
Your public key has been saved in /home/usuario/.ssh/usuario_local.pub.
The key fingerprint is:
7f:6d:24:8b:d5:9c:8e:03:13:6c:dc:09:f2:c7:f2:ec usuario@equipo
The key's randomart image is:
+--[ RSA 2048]----+
| ..oo . |
| =..o |
| = o |
| * o . |
| o S . = . |
| + + + + |
| E + o o |
| . . . |
| |
+-----------------+

Acabamos de generar 2 claves de tipo RSA de 2048 bits:

  • /home/usuario/.ssh/usuario_local. Es la clave privada, que debemos de mantener segura en nuestro equipo.
  • /home/usuario/.ssh/usuario_local.pub. Es la clave pública, que llevaremos al servidor.

Copiamos la clave pública al servidor. Para ello ejecutamos en nuestro equipo el comando scp, mediante el cual copiamos la clave pública al servidor remoto.

$ scp -P 22 ~/.ssh/usuario_local.pub 

usuario_remoto@miequiporemoto.com:/home/usuario_remoto/.ssh/usuario_local.pub
The authenticity of host '[miequiporemoto.com]:22 ([11.22.33.44]:22)' can't be established.
ECDSA key fingerprint is 75:c5:23:ad:5a:f1:22:3b:f1:ef:a2:5e:f8:8a:2d:ab.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[miequiporemoto.com]:22,[11.22.33.44]:22' (ECDSA) to the list of known hosts.
usuario_remoto@miequiporemoto.com's password:
usuario_local.pub 100% 398 0.4KB/s 00:00

En el equipo remoto añadimos la clave pública al archivo “authorized_keys” del usuario remoto. Para ello ejecutamos en el equipo remoto

$ cat ~/.ssh/usuario_local.pub >> ~/.ssh/authorized_keys

Solo nos queda crear un shortcode en el archivo del equipo local ~/.ssh/config para poder acceder de una forma rápida al servidor. Para ello añadimos en este archivo las siguientes líneas:

Host miservidor
Hostname miequiporemoto.com
Port 22
User usuario_remoto
IdentityFile ~/.ssh/usuario_local

Y para acceder al equipo remoto desde el equipo local solo tenemos que ejecutar

$ ssh miservidor

Más información:

:wq

El Estado sigue sin usar estándares abiertos en la tenología

Cuenta El Diario que el Tribunal de Cuentas (no he encontrado el informe) y el informe IRIA 2012 denuncia que los ministerios “abandonan los estándares abiertos” y los sustituyen por “tecnología cautiva” que “favorece a un número reducido de empresas”. Unos puntos interesantes:

  • Solo el 34% de los 1.680 millones gastados por la Administración central en tecnología se adjudicó por concurso abierto con las máximas garantías.
  • Utilización excesiva de la licitación negociada.
  • La dependencia o, incluso cautividad tecnológica respecto de unas pocas empresas en las que se concentra la mayor parte de las adjudicaciones.
  • La proliferación del recurso a los contratos de servicio de apoyo informático para resolver las carencias de personal propio, funcionario o laboral.

Si analizan las Comunidades Autónomas, Diputaciones, Ayuntamientos y chiringuitos creo que se encontrarán con más de lo mismo a menor escala.

SINDEcoro, SINDEcencia, SINDEbate, SINDErecho, SINDEmocracia. NO A LA LEY BIDEN-SINDE

El nuevo texto supone un intrincado andamiaje legal para apuntalar que La propiedad intelectual está por encima de los derechos fundamentales de los ciudadanos y que ni siquiera es un juez quien va a evaluar si ésta es violada o no [1]. La voluntad de PSOE, CiU y PP no solo es protejer los intereses de la industria de entretenimiento -mayormente norteamericana- por encima de los derechos humanos según lo expresado por la ONU [2] sino, sobre todo, asegurar que su poder seguirá prevalenciendo sobre los propios ciudadanos evitando que Internet ejerza de aglutinador del advenimiento de una democracia más directa, de mayor calidad y que propicie una mayor justicia social y poder de decisión de la ciudadanía.

El voto en el senado es dentro de un mes. Tenemos un mes para hacerles saber que se han equivocado y para que rectifiquen. Una ley que no es más que censura y control, que no protege a los artistas ni a los emprendedores, que criminaliza el progreso. La ley de la prepotencia y del miedo. Los senadores se votan por listas abiertas. No votaremos a los que han dado las espaldas a los ciudadanos, más preocupados por unos intereses que nada tienen que ver con la representación democrática ni con los derechos de los autores y de la sociedad civil.

Los partidos se volcarán en la red para las elecciones. Allí los esperamos los ciudadanos.

[1]Por citar cosas concretas del texto:

– Se persiguen “los contenidos que vulneren los citados derechos siempre que el prestador, directa o indirectamente, actúe con ánimo de lucro o haya causado o sea susceptible de causar un daño patrimonial”

La expresión “ser susceptible” es tan amplia que cabe Google, webs con software p2p y por supuesto con la intención de criminalizar el hecho de “enlazar”, o sea Internet en si mismo. Si se persiguiera lo que es susceptible de atacar la integridad física prohibiríamos los cuchillos.

– Se usa el término “autorización judicial” cuando la constitución exige “Resolución judicial”.

[2]. http://red-sostenible.net/images/0/0e/ONU_DERECHOS_LPI.pdf

Texto copiado de Red Sostenible.

Guía de usos y estilo en las redes sociales de la Generalitat de Catalunya

La Generalitat de Catalunya acaba de publicar una guía titulada “Guía de usos y estilo en las redes sociales de la Generalitat de Catalunya” bajo licencia Creative Commons Reconocimiento 3.0 España, en la que tratan el uso de la web 2.0 dentro de la Generalitat: blogs, Twitter, Facebook, LinkedIn, Youtube, Flickr, Slideshare y Flickr.

El documento está disponible en catalán y en castellano, ambos en formato PDF.

Políticas de uso de servicios de participación ciudadana en el contexto de las Administraciones Públicas

La Web 2.0 permite que los usuarios interactúen con el propio portal o entre sí, por lo que resulta impensable mantener un portal cerrado. Quienes lo usan exigen participar, aportar información, comunicarse con personas afines, etc.
Las Administraciones Públicas que se plantean abrir servicios participativos tienen dudas sobre si realmente se puede confiar en quienes usan sus aplicaciones para cederles parte del control de la información.

Para ayuar a los gestores públicos, el CTIC acaba de publicar una guía (en PDF) en la que describe la metodología de análisis de servicios Web participativos desarrollada para el Gobierno del Principado de Asturias , dando cobertura a los principales riesgos a los que puede tener que enfrentarse una Administración Pública a la hora de establecer o gestionar servicios de este tipo. La publicación se compone de los siguientes bloques:

  1. Introducción a la web participativa o Web 2.0.
  2. Metodología de gestión de riesgos.
  3. Riesgos en la web participativa.
  4. Medidas para el control de riesgos en la web participativa.
  5. Evaluación de servicios web colaborativos.

Mejora del acceso a la Administración mediante un mejor uso de la Web

El CTIC lidera a nivel mundial la actividad sobre Administración Electrónica (eGovernment) del W3C, a través de un grupo de trabajo de unas 200 personas, de 25 países, que representan a administraciones públicas locales, regionales, nacionales, supranacionales, ONGDs, ciudadanos, universidades yempresas del sector privado. Fruto de este trabajo acaban de presentar la publicación “Mejora del acceso a la Administración mediante un mejor uso de la Web” (en PDF).