miércoles, 18 de julio de 2012

Para instalar un servidor SSH de debian 6 y derivados.


Para instalar un servidor SSH de debian 6 y derivados.

El protocolo SSH, permite la comunicación entre dos máquinas, la maquina servidor y la (o las maquinas clientes)

Para poder configurar la maquina que será el servidor.


Paso 1

Utilizaremos OpenSSH como servidor ssh en una máquina Linux

>> apt-get install openssh-server openssh-client

Paso 2

Activaremos el servicio en nuestra maquina servidor.

Root >> service ssh start

Para reinicar o detener, tenemos las opciones restart y stop

tambien se pude usar

root >> /etc/init.d/ssh start


Paso 3

Configuracion

Editaremos el documento  (previo backup)
/etc/ssh/sshd_config

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak


Este es un proceso que es fácil pero al que hay que prestar atención.
Una vez finalizada la instalación, ssh queda configurado. El servicio pasa a estar controlado a través del demonio sshd.

Para arrancar el servicio:

/etc/init.d/ssh start
Para detener el servicio:

/etc/init.d/ssh stop
Para modificar la configuración necesitamos abrir y modificar el fichero  /etc/ssh/sshd_config.

Esto es lo que hay que cambiar:

# el usuario root no se puede conectar a través de ssh
PermitRootLogin no
RSAAuthentication yes
PubkeyAuthentication yes
RhostsAuthentication no
hostsRSAAuthentication no
HostbasedAuthentication no
# Para arrancar en remoto aplicaciones graficas
X11Forwarding yes
PasswordAuthentication no
PermitEmptyPasswords no
#Con esta opción, solo permite validación con la  “passphrase” ssh
ChallengeResponseAuthentication no



Paso 4

Para conectarnos a nuestro servidor desde una maquina cliente, obviamente tendremos que tenter instalado el cliente ssh.

Si todo lo anterior está correcto la conexión será con:

ssh usuario@ip_del_servidor

o

ssh -p puerto usuario@ip_del_servidor

Si hay algún problema, chequear la actividad del firewall (no hacer esto me generó horas con problemas de conexión)

Paso final

Generando las claves SSH


Se analiza el proceso de generación de claves públicas y privadas
Para poder utilizar SSH, primero debemos generar las claves. Al generarlas, obtenemos dos ficheros, uno con el contenido de la clave privada, y el otro con el contenido de la clave publica.

En el servidor SSH pondremos nuestra clave publica, y la clave privada deberemos guardarla y tendremos cuidado de no dársela a nadie.

De esta forma, si tuviéramos 5 servidores a gestionar, configuraríamos nuestra clave publica en los 5, y a través de la clave privada configurada en nuestra maquina, accederíamos a todos los servidores sin ningún problema.

Generando las claves en Linux

Para crear las claves, tenemos que estar validados como el usuario que las va a utilizar. Si las generamos como root, solo el root podrá utilizarlas.


ssh-keygen -t rsa
aceptamos la carpeta que nos propondrá dentro del home ~/.ssh/id_rsa

Luego introducimos la clave ssh o paraphrase que nos pide. Conviene que esta clave sea distinta a la que tenemos como usuarios en el servidor.

Tras hacer esto, genera dos ficheros:


Clave privada: ~/.ssh/id_rsa
Clave publica: ~/.ssh/id_rsa.pub

Luego hay que modificar los permisos de la carpeta ssh:


chmod 755 ~/.ssh.



Copiar la clave publica en el servidor

Nos falta copiar la clave publica en el servidor al que queremos conectarnos. Hay que copiarla en el fichero ~/.ssh/authorized_keys del servidor.



Esto es importante. Es imprescindible copiar y pegar bien el texto, ya que un error en un caracter nos hará imposible establecer la conexión.

Si hemos generado la clave en Linux, tenemos que copiar el contenido del fichero ~/.ssh/id_rsa.pub generado en nuestra maquina al fichero ~/.ssh/authorized_keys del servidor.

Si hemos generado la clave con puttygen.exe, copiamos el contenido de la clave de la ventana del programa y la pegamos en el fichero ~/.ssh/authorized_keys del servidor.

Si en el servidor no existe el fichero ~/.ssh/authorized_keys lo creamos.

cat id_rsa.pub >> /home/usuario/.ssh/authorized_keys

miércoles, 4 de julio de 2012

Mas repositorios Debian. (Testing)


## Debian Testing
deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free
## Actualizaciones de seguridad
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free


http://www.apt-get.org/main/

Entre los cuales destacan los multimedia:

http://www.esdebian.org/foro/24349/nuevo-mirror-debian-multimedia

## Multimedia estable (actual)
deb http://www.deb-multimedia.org stable main non-free

#Multimedia testing
deb http://www.deb-multimedia.org testing main non-free

## Multimedia Sid
deb http://www.deb-multimedia.org sid main non-free


Subdivision del repositorio

Navegando un poco (sin marearse !!!) entre los directorios Debian, notamos una particular subdivisión, los repositorios, por cierto, están divididos en :
main es la sección principal, que contiene el 90% de los paquetes presentes en nuestra Debian.
contrib encontramos los paquetes que cumplen con 5 o 6 puntos de las DFSG(Debian Free Software Guidelines), pero que dependen de paquetes que no la respetan.
(DFSG = lineamientos o requisitos que una licencia debe cumplir para que sea definida como libre segun el proyecto Debianhttp://www.debian.org/social_contract#guidelines).
non-free contiene los paquetes que poseen limitaciones en su distribución (como por ejemplo aquellos que no pueden ser usados en ámbito comercial o porque dependen de paquetes que no respetan las DFSG).

Clonar o respaldar discos o particiones en linux


Inserten su live cd/dvd de linux (knoppix, ubuntu, mandriva, suse, etc)


Para saber el tamaño de disco debemos ejecutar en la consola el comando

df -h

donde df es el comando y -h es la opción que nos dará una información mas legible ya que nos devuelve el resultado en MB o GB




Caso 1: Copiar una partición

dd if=/dev/hda1 of=/dev/hda2
Explicación: el comando clave es dd donde if es el origen y of el destino.

Caso 2: Respaldar una partición

dd if=/dev/hdb1 | gzip −c  > /image.img.gz
Explicación: aqui estamos respaldando hdb1 y comprimiendo la imagen enviando el resultado a un archivo.

Vamos a mejorarlo

dd if=/dev/hda1 | bzip2 −−best > partition.bz2
Aquí la diferencia es que utilizamos la compresión bzip al máximo.

Vamos a pedir más…

time dd if=/dev/hda1 | bzip2 −−best > partition.bz2
Lo distinto acá es time al comienzo, esto al terminar nos dirá cuanto ha demorado el proceso, nos va a servir si hacemos esto frecuentemente, para ir a tomarse un café.

Caso 3: Recuperar un respaldo

gunzip -c /image.img.gz | dd of=/dev/hdb1
En este caso estaríamos restaurando el primer ejemplo anterior.

Para el segundo caso bzip

bunzip2 -c /mnt/sda1/partition.bz2 | dd of=/dev/hda1
De tarea les dejo enviar y restaurar el archivo por medio de la red, ya sea por netcat o ssh.

Y mejorarlo marcando el espacio de disco con zero para no comprimir datos borrados.

08/11/2011: Tip

Para ver el progreso podemos utilizar en otra terminal

# watch -n 10 killall -USR1 dd
Y veremos cada 10 segundos lo que ha procesado.