diumenge, 7 de novembre del 2010

deconnectar la consola sense finalitzar la sessió

de vegades iniciem un tarees via ssh que han de tenir continuitat i no podem perdre la sessió, una solució es utiltizar screen, que normalment ve instal·lat a les distribucions o tenim informació a http://www.gnu.org/software/screen

per iniciar screen posem

#screen

i li donem a l'espai, ara estem a l'interprete de screen

si volem veure la llista de screen que tenim actives


ies-sabadell:~# screen -list
There are screens on:
    5421.pts-0.ies-sabadell    (06/11/10 23:32:35)    (Attached)
    5408.pts-0.ies-sabadell    (06/11/10 23:31:32)    (Detached)
2 Sockets in /var/run/screen/S-root.

en aquest tenim dos sessions obertes d'screen i la que està activa és la primera, la sintaxis es pid.terminal.nom i amb aquestes dades recuperarem la sessió screen més tard.

per fer la prova llenço


rsync -e ssh --progress --delete -lprtz /srv user@yyy.yyy.yyy.yyy:/backups/server-moodle/srv2

que estarà una bona estona copiant al servidor donat que és el primer backup en aquest disc nou


donat que no puc estar tot el temps davant el terminal tanco la sessió screen

Ctrl+A i despres D

i tornem a l'interpretre normal que també tanco.

Pasades 1 hora em torno a connectar

ssh ies-sabadell.xtec.net

ies-sabadell:~# screen -r
There are several suitable screens on:
    5421.pts-0.ies-sabadell    (06/11/10 23:32:35)    (Detached)
    5408.pts-0.ies-sabadell    (06/11/10 23:31:32)    (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.





està clar que screen -r em retorna les screen que s'estàn executant

per tornar-me a connectar faig screen -r 5421.pts-0.ies-sabadell

dissabte, 6 de novembre del 2010

repetició de tasques via crontab i rsync

per realitzar els backups de matinada el que utilitzo es rsync amb l'idea de que em gestioni la informació comprimida i només els canvis realitzats,

crontab -e


30  4  * * * rsync -e ssh --progress --delete -lprtz /srv user@yyy.yyy.yyy.yyy:/home/srv2
0  5  * * * rsync -e ssh --progress --delete -lprtz /var/lib/mysql user@yyy.yyy.yyy.yyy:/opt/lampp/var/mysql
30 5 * * * rsync -e ssh --progress --delete -lprtz /backup/mysql-backup user@yyy.yyy.yyy.yyy:/home/backups-mysql
45 5 * * * rsync -e ssh --progress --delete -lprtz /mio/backup-moodle user@yyy.yyy.yyy.yyy:/home/backups-moodle

això farà que ha diferents hores, a partir de les 4:30h comenci a fer backups només de les coses que s'han modificat.

formatejar unitat de disc

Formatejar una unitat de disc o memòria usb en linux es molt senzill

desmontar la unitat

# umount /dev/sdb1

on sdb1 correspon al nom de la teva unitat de disc

formatejem








# mkfs.vfat /dev/sdb1


#mkfs.ext3 /dev/sdb1

A la primera comanda formatejem en vfat, sobretot per usb's, i la segona comanda formatejem en ext3

creem un directori a l'arrel

mkdir /backups

mount -t ext3 /dev/sdb1 /backups

Autentificación por claves RSA/DSA - via ssh

Autentificación por claves RSA/DSA

Anem a configurar el servidor per accedir via ssh , mitjançant claus rsa/dsa i sense password de manera segura.

Al fitxer de configuració del servidor (on volem connectar-nos 192.168.130.x)
/etc/ssh/sshd_config

PubkeyAuthentication yes

En el client generem les claus DSA;


ssh-keygen -t dsa

podem posar un password pero si ho deixem em blanc la entrada serà directa 

Per introduir aquesta ordre, al directori home/.ssh ens ha generat una clau publica i una privada. La clau pública la hem de copiar al servidor al directori de l'usuari amb el que connectarem

sftp root@192.168.130.x

put ./ssh/id_dsa.pub  (hem copiat la clau publica de l'equip client al servidor)

en algún lloc indica que així també es pot fer pero  no ho he comprobat

$scp archivo_local user@host:archivo_remoto
scp id_dsa.pub alvaro@intranet:.ssh/id_dsa.pub

The authenticity of host 'intranet (192.168.200.70)' can't be established. RSA key fingerprint is d8:d7:0a:cf:d9:8f:fe:fa:66:f0:76:46:46:fa:b8:1a. Are you sure you want to continue connecting (yes/no)?

El fingerprint és la firma digital del servidor. per establir una connexió la hem d'acceptar i demana una contrasenya, en aquest moment la copia la fitxer .ssh/know_host de la màquina local. Aquesta emprenta (firma) queda al fitxer de tal manera que si hi ha una connexió de la mateixa ip pero amb diferent firma ens dirà que no es pot establir la connexió. llavors hauriem d'esborrar l'entrada corresponent a aquella connexió al fitxer know_hosts (pero això ara no toca)



Ara connectem al servidor,fem  los siguiente: cd /home/usuario/.ssh/
cat id_dsa.pub_CLIENTE >> authorized_keys
rm id_dsa.pub_CLIENTE

Ara ja podem connectar directament a l'ordinador remot sense tenir que introduïr el passwd, posarem

ssh usuari@192.168.130.x

i accedirem directament. Valorar que l'acces al directori ./ssh ha d'estar restringit només a nosaltres,
chmod 700 .ssh

Amb aquesta configuració ja puc llençar rsync sense tenir que posar el passwd.

Al tanto, l'accés a un ordinador ara ens està donant acces amb aquell usuari a altres ordinador sense password, s'ha de ser més segur....