05 de gener, 2010

Interconnectant ordinadors (nivell elemental)


Poder accedir a un ordinador des d'un altre és, sovint, una manera còmoda de treballar o de resoldre problemes; GNU/Linux ens permet fer-ho de moltes formes diferents, les més senzilles de les quals es basen en el Secure Shell (ssh).

Obrir una sessió de consola en una màquina des d'una altra

El primer pas requereix instal·lar el paquet openssh-server en cada màquina a connectar: $ sudo apt-get install openssh-server . En general, no caldrà instal·lar el paquet openssh-client, perquè Ubuntu el porta ja per omissió.

Ara, amb l'ordre ssh podem, des de la màquina local, accedir a l'usuari usuari de la màquina remota: només caldrà indicar l'adreça de la màquina (en el nostre exemple, 192.168.1.36) i l'usuari a què volem accedir:


$ ssh -X usuari@192.168.1.36


La primera volta que ens connectem, se'ns demanarà confirmació per crear-hi una clau: haurem de contestar "yes". Després, ens preguntarà la contrasenya: es refereix a la contrasenya de l'usuari usuari en la màquina remota. Tot seguit, ens trobarem en una sessió de terminal en la màquina i usuari que havíem demanat:


usuari@remota$ _



Amb l'argument "-X", hem habilitat l'ús de les X d'una màquina a l'altra, de manera que podrem, des de la màquina local, executar qualsevol tipus de programa en la màquina remota: la sortida apareixerà sobre la pantalla de la màquina local.

Abandonar la sessió, dissortadament, requereix un sistema molt complicat que haurem d'apuntar en una xulla i tenir-lo sempre a mà:



usuari@remota$ exit



Si les IP locals de les nostres màquines són fixes, podem simplificar l'execució de ssh identificant màquines i IP en el fitxer /etc/hosts; editant-lo amb sudo vim /etc/hosts, hi podem afegir les línies:


192.168.1.36 remota
192.168.1.37 gamma
192.168.1.38 delta



I ara reiniciem el servei amb $ service networking restart . A partir d'aquest moment, ja podem executar amb $ ssh -X usuari@192.168.1.36 , que és més senzill de recordar.

Una manera extraordinària de millor les possibilitats que ens ofereix ssh és combinant-lo amb screen. Però aquest és mereix una entrada pròpia.


Muntar un directori d'una màquina en un directori d'una altra


Una altra opció bàsica, però tremendament útil, consisteix a muntar un directori d'una màquina remota en la nostra màquina local; així podrem manipular des de local qualsevol fitxer present en remota, o copiar-los a local, o copiar fitxers a la màquina remota. Sí, des de local podrem veure les pel·lícules que tenim en remota :-) . La màgia, en aquest cas, corre a càrrec del paquet sshfs, de manera que començarem per instal·lar-lo: $ sudo apt-get install sshfs .

Cal tenir en compte els següents conceptes:
  • màquina remota: remota;
  • usuari de la màquina remota: usuari;
  • directori de remota que volem muntar: /home/usuari/Documents
  • directori on el muntarem en la nostra màquina: /home/jo/remot


Muntem el directori amb:


sshfs usuari@remota:/home/usuari/Documents /home/jo/remot/



Com es pot deduir, l'ordre anterior respon a la sintaxi sshfs usuari@maquina_remota:directori_remot directori_local .

Ara, si obrim qualsevol administrador de fitxers, en entrar al directori /home/jo/remot (o si fem un ls /home/jo/remot), veurem el fitxers que hi ha a la màquina remota, al directori que hem muntat; podrem treballar amb ells com si es trobessin a la màquina local.

Desmuntarem el directori amb l'ordre $ fusermount -u puntdemuntatge .



Powered by ScribeFire.

5 comentaris:

Carles Oriol ha dit...

I ara reiniciem el servei amb $ service networking restart . A partir d'aquest moment, ja podem executar amb $ ssh -X usuari@remota , que és més senzill de recordar.

Carles Oriol ha dit...

A més podem accedir al sistema d'arxius sense muntar-lo amb

al nautilus en gnome:

ssh://usuari@remota

o en kde (konqueror o dolphin)

fish://usuari@remota

Giorgio Grappa ha dit...

Gràcies, Carles; fa tant de temps que treballo només amb entorns lleugers que havia oblidat algunes de les facilitats dels dos clàssics.

Lleïr Borràs Metje ha dit...

Això està mot bé, però si el que es busca es velocitat és més efectiu samba, doncs sshfs, sftp, ... és lent

Giorgio Grappa ha dit...

Està vist que m'hauré de posar a ballar la samba; gràcies pel consell, Lleïr.