lunes 21 de septiembre de 2009

ssh sin password pero seguro


El otro día hablando con mi amigo Ginés, me comentó que buscaba hacer una copia por scp usando un script y necesitaba no tener que introducir el password. Pues esta entrada está dedicada a cubrir ese tema.

El principio es sencillo. Es necesario compartir las claves públicas entre los servidores para establecer una relación de confianza. El resto es automático.

Generamos la clave del servidor que se va a conectar

# ssh-keygen -t dsa

Es importante que no pongamos passphrase, si no no nos servirá de nada.

Pasamos la clave generada al otro servidor (al que nos conectaremos)

# scp .ssh/id_dsa.pub usuario@remoto:/home/usuario/.ssh/authorized_keys2

Es importante que no se use cualquier otro método que pueda alterar la naturaleza del fichero.

Ahora ya podemos hacer conexiones ssh al servidor sin password. También soporta scp, por supuesto.

viernes 10 de julio de 2009

Utilizar Dyndns en Debian


Tengo una cuenta de DynDNS. En él guardo ciertas IPs, pero si no entras una vez al mes o algún Router refresca la información, la cuenta se cierra. Para solventar esto podemos usar ddclient. Aunque dispongo de IP estática, esto me mantendrá la cuenta activa.

Se instala el programa ddclient. Pregunta cosas como el usuario y password de la cuenta, también que interface se debe usar para actualizar la IP.

Todo perfecto, excepto porque la IP que refresca es la local. Para solventar esto podemos echarle un vistazo al fichero /etc/ddclient.conf.

Debemos cambiar el use=if, if=eth1

Si consultamos las opciones del programa, realmente hay mil maneras para averiguar la IP externa.

# ddclient -help
[...]
-use which : how the should IP address be obtained. (default: ip).
-use=2wire : obtain IP from 2Wire 1701HG Gateway at the -fw {address}.
-use=3com-3c886a : obtain IP from 3com 3c886a 56k Lan Modem at the -fw {address}.
-use=3com-oc-remote812 : obtain IP from 3com OfficeConnect Remote 812 at the -fw {address}.
-use=alcatel-510 : obtain IP from Alcatel Speed Touch 510 at the -fw {address}.
-use=alcatel-stp : obtain IP from Alcatel Speed Touch Pro at the -fw {address}.
-use=allnet-1298 : obtain IP from Allnet 1298 at the -fw {address}.
-use=cayman-3220h : obtain IP from Cayman 3220-H DSL at the -fw {address}.
-use=cisco : obtain IP from Cisco FW at the -fw {address}.
-use=cmd : obtain IP from the -cmd {external-command}.
-use=dlink-524 : obtain IP from D-Link DI-524 at the -fw {address}.
-use=dlink-604 : obtain IP from D-Link DI-604 at the -fw {address}.
-use=dlink-614 : obtain IP from D-Link DI-614+ at the -fw {address}.
-use=e-tech : obtain IP from E-tech Router at the -fw {address}.
-use=elsa-lancom-dsl10 : obtain IP from ELSA LanCom DSL/10 DSL FW at the -fw {address}.
-use=elsa-lancom-dsl10-ch01 : obtain IP from ELSA LanCom DSL/10 DSL FW (isdn ch01) at the -fw {address}.
-use=elsa-lancom-dsl10-ch02 : obtain IP from ELSA LanCom DSL/10 DSL FW (isdn ch01) at the -fw {address}.
-use=fw : obtain IP from the firewall specified by -fw {type|address}.
-use=if : obtain IP from the -if {interface}.
-use=ip : obtain IP from -ip {address}.
-use=linksys : obtain IP from Linksys FW at the -fw {address}.
-use=linksys-rv042-wan1 : obtain IP from Linksys RV042 Dual Homed Router WAN Port 2 at the -fw {address}.
-use=linksys-rv042-wan2 : obtain IP from Linksys RV042 Dual Homed Router WAN Port 2 at the -fw {address}.
-use=linksys-ver2 : obtain IP from Linksys FW version 2 at the -fw {address}.
-use=linksys-ver3 : obtain IP from Linksys FW version 3 at the -fw {address}.
-use=linksys-wcg200 : obtain IP from Linksys WCG200 FW at the -fw {address}.
-use=linksys-wrt854g : obtain IP from Linksys WRT854G FW at the -fw {address}.
-use=maxgate-ugate3x00 : obtain IP from MaxGate UGATE-3x00 FW at the -fw {address}.
-use=netcomm-nb3 : obtain IP from NetComm NB3 at the -fw {address}.
-use=netgear-dg834g : obtain IP from netgear-dg834g at the -fw {address}.
-use=netgear-rp614 : obtain IP from Netgear RP614 FW at the -fw {address}.
-use=netgear-rt3xx : obtain IP from Netgear FW at the -fw {address}.
-use=netgear-wgt624 : obtain IP from Netgear WGT624 at the -fw {address}.
-use=netgear-wpn824 : obtain IP from Netgear WPN824 FW at the -fw {address}.
-use=netopia-r910 : obtain IP from Netopia R910 FW at the -fw {address}.
-use=olitec-SX200 : obtain IP from olitec-SX200 at the -fw {address}.
-use=rtp300 : obtain IP from Linksys RTP300 at the -fw {address}.
-use=sitecom-dc202 : obtain IP from Sitecom DC-202 FW at the -fw {address}.
-use=smc-barricade : obtain IP from SMC Barricade FW at the -fw {address}.
-use=smc-barricade-7004vbr : obtain IP from SMC Barricade FW (7004VBR model config) at the -fw {address}.
-use=smc-barricade-7401bra : obtain IP from SMC Barricade 7401BRA FW at the -fw {address}.
-use=smc-barricade-alt : obtain IP from SMC Barricade FW (alternate config) at the -fw {address}.
-use=sohoware-nbg800 : obtain IP from SOHOWare BroadGuard NBG800 at the -fw {address}.
-use=sveasoft : obtain IP from Sveasoft WRT54G/WRT54GS at the -fw {address}.
-use=vigor-2200usb : obtain IP from Vigor 2200 USB at the -fw {address}.
-use=watchguard-edge-x : obtain IP from Watchguard Edge X FW at the -fw {address}.
-use=watchguard-soho : obtain IP from Watchguard SOHO FW at the -fw {address}.
-use=web : obtain IP from an IP discovery page on the web.
-use=westell-6100 : obtain IP from Westell C90-610015-06 DSL Router at the -fw {address}.

-use=xsense-aero : obtain IP from Xsense Aero at the -fw {address}.
[...]

En nuestro caso usaremos una Web que nos devuelva nuestra IP.

use=web, web=http://checkip.dyndns.org/, web-skip='Current IP Address: '

Daros cuenta que agregamos un texto de exclusión, ya que el principio de la frase que nos da la IP no nos interesa.

Todo listo, reiniciamos el servidor ddclient y ya está funcionando.

Cambiar TransferRate Proftpd

Necesito transferir un archivo realmente grande al servidor de FTP y no dispongo de tiempo. El Proftpd por defecto acepta un TransferRate de 40Kb por conexión. Esto protege el ancho de banda, ya que si se limita el número de conexiones y la tasa de transferencia, puede dar servicio a varios usuarios sin llegar a saturarse.

En el fichero de configuración del proftpd existe un parámetro llamado RateWriteBPS. Modificando el mismo puedes escribir al máximo que de la conexión. Sin sacrificar la bajada, ya que no hemos tocado el parámetro de transfer de lectura.

Este parámetro afecta a los directorios definidos, con lo cual se puede ajustar según las necesidades de ancho de banda por ubicación.

En la configuración general se puede modificar en la linea TransferRate STOR. De esta manera el cambio afecta a todas las transferencias, independientemente del directorio definido en las configuraciones.

miércoles 1 de julio de 2009

cfdisk y el dichoso "sí con acento"

Bueno, traducir está bien, pero no para herramientas del sistema. Algo tan simple como escribir los cambios en disco puede resultar un contratiempo si cfdisk espera un acento pero la consola de entrada no te lo concede...



Solución, cambiar el idioma antes de ejecutar la aplicación.

LANG=en_EN.UTF-8

Saldrá todo en inglés (cosa que no me preocupa) y todo arreglado.

viernes 5 de junio de 2009

KVM - XEN 100% CPU Windows

Cuando nos encontramos en esta tesitura, lo mejor es tocar un parámetro de la definición de la máquina virtual antes de instalar el Windows.

Usando el convirt, os puedo mostrar mas gráficamente dónde cambiar esto. Simplemente buscar el paràmetro ACPI y cambiar de 0 a 1.


Para cambiarlo de forma mas permanente en la plantilla, editar /var/cache/convirt/image_store/Windows_CD_Install/vm_conf.template y buscar el parámetro acpi=0. Lo cambiamos y ya nos podemos despreocupar.

Si ya tenéis el Windows instalado, hay que ponerlo en modo monoprocesador desde el administrador de dispositivos de Windows. En este enlace te explica cómo paso a paso.

martes 2 de junio de 2009

Problemas con vpopmail y vchkpw2userdb en Debian Lenny

Resulta que nadie se quiere encargar de dar soporte a esta utilidad de traspaso de vpopmail a courier, con lo cual en la versión Lenny ya no existe este fichero. Esto es muy frustrante, porque era la piedra angular de muchos servidores de correo que tenemos.

Como realmente es un programa en Perl, simplemente he optado por bajar la versión de Debian Etch, sacar el fichero en cuestión y colocarlo en /usr/sbin. Hecho esto, ya tenemos el problema resuelto. Probado y funcionando.

El paquete en cuestión es el courier-authlib-userdb. Os lo podeis bajar de aquí

jueves 21 de mayo de 2009

Error común y tonto instalando clamav

Uno confiado compila e instala el clamav. Lo intenta arrancar y te sorprende con la siguiente linea.

clamav error loading shared libraries linux libclamav.so.6

Haciendo un which libclamav.so.6 se puede verificar que las librerías están en su sitio. En estos casos se ejecuta el comando ldconfig .... "E voilà", problema resuelto. El comando ldconfig lo que hace es recargar la caché de las librerías.
 
Bookmark and Share