Cambiar nombre del equipo desde terminal

0 comentarios

En algunas ocasiones, es posible que necesitemos cambiar el nombre de nuestro equipo (más posiblemente, un servidor remoto que hayamos adquirido de algún proveedor).

Para realizar este cambio deberemos realizar los siguientes pasos:

1.- Editaremos el fichero /etc/hosts y cambiaremos el nombre antiguo por el nuevo.
2.- Cambiaremos el nombre del equipo en el fichero /etc/hostname
3.- Lanzaremos el script /etc/init.d/hostname.sh para que se apliquen los cambios sin reiniciar.

sh /etc/init.d/hostname.sh

También podemos cambiar el nombre del equipo temporalmente ejecutando la sentencia:
/bin/hostname nuevo-nombre

Conectar a servidor SSH sin contraseña

0 comentarios

Para los que trabajamos continuamente con varios servidores SSH, puede llegar a ser algo extresante tener que escribir siempre la contraseña. Y si además tienes que memorizar varias contraseñas de diferentes servicios, servidores, etc, como es mi caso, puede darse el caso de que cueste recordarlas.

En cualquier caso, por un motivo u otro, puede que cualquier programador o administrador de sistemas prefiera poder conectarse a su servidor SSH sin necesidad de escribir continuamente la contraseña, pero, ¿como hacer esto sin vulnerar la seguridad del servidor?.

La respuesta está en las claves RSA y el fichero authorized_keys de SSH. La cuestión es crear una clave rsa, que almacenaremos en el servidor al que deseamos conectar. A continuación explico los pasos para realizar el procedimiento.

1. Creamos la clave RSA
Para empezar, debemos crear en nuestro cliente la una clave rsa para identificar la máquina. Abriremos una ventana de terminal y ejecutaremos la siguiente sentencia:

ssh-keygen -t rsa
Nos pedirá una contraseña común, que podremos utilizar en caso de querer utilizar esta misma para conectar a diferentes servidores (en caso de que lo subamos a varias máquinas). Es una medida de seguridad más, aunque yo siempre dejo este campo vacío.

Una vez ejecutada la esta sentencia, se creará automáticamente en la carpeta .ssh de nuestro usuario ($HOME/.ssh) un fichero id_rsa.pub que utilizaremos para conectar a nuestros servidores.

2. Enviar la clave al servidor/es
El siguiente paso es enviar la clave al servidor. Con un sencillo comando que nos pedirá la contraseña, ya conseguiremos hacerlo:
ssh-copy-id -i ~/.ssh/id_rsa.pub $USER@$HOST
Donde $USER es el usuario con el que conectamos al servidor y $HOST la dirección. Con esto ya estaremos listos para conectar al servidor sin necesidad de introducir la contraseña.


CONFIGURACIÓN ADICIONAL
Para los más maniáticos, o aquellos que quieran añadir un nivel más de seguridad al servidor, se puede añadir la opción de que no se pueda conectar al servidor SSH si el equipo no está en el archivo authorized_keys del servidor. Es decir, que solo aquellos que han realizado el paso anterior puedan conectarse.

Para ello se debe editar el fichero /etc/ssh/ssh_config del servidor y añadir las siguientes lineas de configuración:
PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes
Reiniciamos el servidor:
sudo /etc/init.d/ssh restart
Y probamos de conectaros mirando los mensajes de conexión (para comprobar que funciona correctamente):
ssh -v $USER@$HOST
Para realizar esta configuración en varios servidores, basta repetir solo el paso 2 en cada uno de los servidores, ya que la clave RSA será única para el cliente.

Evitar desconexión SSH

4 comentarios

A muchos de vosotros os pasará que debeis conectar a un servidor mediante SSH y realizar varias tareas, pero entre estas puede pasar un cierto tiempo. Por defecto, la conexión SSH se desconecta automáticamente cuando el servidor lleva un rato sin recibir ninguna orden, por lo que se debe volver a reconectar al servidor (e incluso en algunos casos, bloquea la terminal y hay que cerrarla y volver a abrirla).

Esta mañana he encontrado la solución en un blog venezonalo de Fedora.

La mejor manera de mantener la sesión abierta, es hacer que el servidor SSH envíe peticiones cada cierto tiempo para comprobar el estado de la conexión. Esto hace que al haber actividad, la conexión no se cierre. Para hacerlo deberemos aplicar la siguiente configuración:

Cliente
Abriremos el fichero /etc/ssh/ssh_config con nuestro editor favorito y añadiremos las siguientes 2 líneas:

ServerAliveInterval 30
AliveCountMax 4
Servidor
En nuestro servidor SSH abriremos el mismo fichero /etc/ssh/ssh_config para añadir estas otras 2 líneas:
ClientAliveInterval 30
ClientAliveCountMax 4

Esta configuración hace que cada una de las máquinas haga consultas a la otra cada 30 segundos y en caso de recibir 4 errores NOK (errores de respuesta), la conexión se cerrará. De lo contrario se mantendrá abierta.

Disfrutad de una conexión SSH sin cortes.

Botón de +1 con jQuery

0 comentarios

Para los amantes de Google+ y jQuery, traigo una nueva alternativa a la integración del botón +1 que publicó Ricardo Galli en su perfil de Google+. Con esta pequeña modificación del código, se consigue que no se cargue el botón hasta que se haya cargado completamente el DOM de la página, evitando posibles errores.

El primer paso para integrarlo es incrustar este código en el header (entre los tags de tu código). Debes recordar que este fragmento de código se debe colocar después de haber cargado la librería de jQuery

<script type="text/javascript">
window.___gcfg = {lang: 'es'};
$(function () {
    $.getScript("https://apis.google.com/js/plusone.js");
});
</script>

Una vez cargada la api de Google, solo nos falta incrustar el botón en el lugar de la web que hayamos elegido. Para ello debes introducir el siguiente código:

    <g:plusone count="false" size="small">

Para más información sobre el botón de +1, ver otros parámetros posibles o dudas, podeis consultar la web oficial de Google Webmasters donde encontrareis toda la información oficial.

También podréis ver un ejemplo en la sección de noticias de la LVP, al entrar al detalle de una. Por ejemplo: http://www.lvp.es/news/view/148

Apertura de blog provisional

3 comentarios

Buenas noches.

Desde este mismo instante, abre este blog de forma provisional hasta que pueda tener el diseño de mi propio blog donde iré publicando noticias sobre programación y administración de sistemas, así como ejemplos de código de diferentes frameworks y lenguajes.

Se acepta la colaboración de gente, así que si alguien está interesado en publicar, puede contactar conmigo a través de mi correo personal: tanque.tm@gmail.com o a través de mi cuenta de twitter @tanque_tm.

Muchos de los que entreis y veais esta "chapuza" pensareis, "en casa de herrero, cuchillo de palo", pero lo peor de todo es que tendreis razón, pero a continuación detallo los motivos por los que he decidido abrir un blog en blogger:


  • Tengo pensado abrir un blog con wordpress, ya que tiene plugins bastante interesantes y la gestión de noticias y usuarios es bastante buena, pero mientras permanezco a la espera del diseño del logotipo y me decante por un diseño por el blog, o pueda diseñar el mío propio, he decidido abrir uno temporal en blogger, ya que después se puede realizar una exportación rápida y sencilla.
  • Mientras no tenga una solución definitiva, aprovecho el servicio gratuito de blogger, que me permite redireccionar mi propio dominio.
  • Últimamente ando excaso de tiempo para ponerme a trabajar en un nuevo diseño, programación de blog, además de estar esperando mi nuevo equipo que ya configuraré como un buen entorno de programación.
  • Porque a pesar de haber podido esperar a tener todo lo anterior, quería reservar ya el dominio y montar algo para empezar a dar a conocer la idea, buscar posibles colaboradores, e ir insertando contenidos.
  • Porque me gustan los retos, y lo de ponerme la meta de ir publicando noticias es uno de ellos, así como la de hacer una migración correcta de blogger a wordpress, ya que esto me dará un nuevo contenido con un tutorial de como hacerlo, en el momento en el que lo haga.
  • Porqué así podré hacer tutoriales sobre la gestión de contenidos en blogger y wordpress y hacer una comparativa en el futuro.
  • Y en resumen y para terminar, porque me ha salido de los santos procesadores, porque hace años que quería hacer algo y esto es solo un primer paso. Pequeño, sencillo pero un paso. Espero que de aquí surja un gran proyecto, o almenos un pequeño proyecto donde pueda acudir yo a consultar recopilaciones mías cuando las necesite, en lugar de volver a buscar de nuevo por la red.
A pesar de que la idea principal de la web es abarcar noticias de programación y sistemas, también puede que publique temas de diseño, aunque al no estar metido en el tema serán minoritarios. Los principales lenguajes de programación (y no tan lenguajes) que intentaré abarcar serán los siguientes:
  • Java
  • PHP
  • C++
  • Python
  • Perl
  • Bash script
  • Javascript
  • CSS2.1 / CSS3
  • XHTML1.0 / XHTML1.1 / HTML5
  • XML, XSL, XSLT
  • Otros lenguajes

Ale, ahora a criticar que he elegido una plantilla feísima, que blogger es una porquería, y demás. Pero es lo que hay, almenos de momento.

Un abrazo y gracias a todos :).