Está en la página 1de 2

Tradicionalmente utilizamos telnet para iniciar una sesin en nuestro servidor, sin embargo, este protocolo no cuenta con

ningn tipo de seguridad, por lo que basta conectar un analizador de protocolo a la red para averiguar lo que se escribe desde una IP determinada, es por eso que se recomienda utilizar en su lugar el SSH, el cual, est cifrado y permite iniciar sesiones e intercambiar archivos. Una de las ventajas de SSH es que permite el uso de llaves pblicas para iniciar la sesin sin necesidad de ingresar contrasea siendo, de esta forma, un buen sustituto para el rsh. Vamos a crear primero una llave RSA para nuestro usuario con el comando ssh-keygen:
hajarami@ubuntu:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to. save the key (/home/hajarami/.ssh/id_rsa): Created directory '/home/hajarami/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hajarami/.ssh/id_rsa. Your public key has been saved in /home/hajarami/.ssh/id_rsa.pub. The key fingerprint is: 27:99:0b:f0:bd:98:b9:54:c9:b8:c6:47:08:15:96:ba hajarami@ubuntu The key's randomart image is: +--[ RSA 2048]----+ | +o | | o. | | o. | | .+ = + | | .= S . | | E. O = | | O + | | o o | | . | +-----------------+

Esta llave esta compuesta por dos partes la pblica y la privada, la privada es el archivo $HOME/.ssh/id_rsa y debe permanecer siempre ah con solo permisos para el propietario. Revisamos el contenido de la llave pblica:
hajarami@ubuntu:~$ cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv53P81IpkhJPzzzZ7xygmWq1ynTeJ3ut/XetJPX4fENmo/c1nQlG+tsNzsuAV6O BFa2KI0YT9avxkDOFA+1SaO8dqslo0wF46/CCKyFmUn2NMHlA69NyBKiL2cLxvTXq6fBj3+f9jVijv4df/9NoBpup7u IETJt0MlYVsSbidR1FMdzNO91mcCZkrgQ9rxH4N9geI9KMUEXSfuouhmY0Z8GQUZSIB1f5djub1NfT10F6riPW7njF7 HMRHlAIb8EKaGBcgK0LCEFP1OVc9uSLOWIzbz2slvze5Dly31d6O4Rb+T0LeTPL+7FavEaCeUM7lW+WVIs+sGemsEL+ h2VQ8Q== hajarami@ubuntu

Esta llave se la vamos a proporcionar al propietario de la cuenta a la que necesitamos entrar para que nos autorice el acceso. En el otro servidor, en el home directory del usuario con el que vamos a iniciar sesin vamos a agregar la llave pblica en el archivo $HOME/.ssh/authorized_keys:
[solaris10:~]$ echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv53P81IpkhJPzzzZ7xygmWq1ynTeJ3ut/XetJPX4fENmo/c1nQlG+tsNzsuAV6O BFa2KI0YT9avxkDOFA+1SaO8dqslo0wF46/CCKyFmUn2NMHlA69NyBKiL2cLxvTXq6fBj3+f9jVijv4df/9NoBpup7u IETJt0MlYVsSbidR1FMdzNO91mcCZkrgQ9rxH4N9geI9KMUEXSfuouhmY0Z8GQUZSIB1f5djub1NfT10F6riPW7njF7 HMRHlAIb8EKaGBcgK0LCEFP1OVc9uSLOWIzbz2slvze5Dly31d6O4Rb+T0LeTPL+7FavEaCeUM7lW+WVIs+sGemsEL+ h2VQ8Q== hajarami@ubuntu" >> $HOME/.ssh/authorized_keys

Y listo, ya tenemos autorizacin para iniciar sesin, desde nuestro servidor origen:
hajarami@ubuntu:~$ ssh hajarami@solaris10 The authenticity of host 'solaris10 (192.168.188.138)' can't be established. RSA key fingerprint is 88:4d:ff:4c:67:17:46:20:14:9c:3b:7f:1c:5b:f9:c5. Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'solaris10,192.168.188.138' (RSA) to the list of known hosts. Last login: Wed Oct 13 20:13:24 2010 from 192.168.188.1 Sun Microsystems Inc. SunOS 5.10 Generic January 2005 You have mail. [solaris10:~]$

La primera vez que entramos a un servidor, nos hace la advertencia de que no lo tiene en la lista de servidores conocidos, por lo que nos pide una confirmacin, esto es importante ya que, en el caso de que hubiera un reemplazo del servidor la llave del servidor no correspondera y nos devolvera un error, lo normal es que simplemente inicie sesin sin mayor aviso. En la invocacin del comando ssh le indicamos el login del usuario del otro servidor, el caracter arroba y el nombre del servidor o su direccin; si el login del usuario remoto es igual al local, no es necesario escribirlo, basta con el nombre del servidor. Adems de iniciar iniciar sesin es posible ejecutar en forma remota un comando de una forma similar a la del comando rsh:
hajarami@ubuntu:~$ ssh hajarami@solaris10 uname -a SunOS solaris10 5.10 Generic_142901-12 i86pc i386 i86pc

Regularmente es muy sencillo, no es necesario crear una llave para el usuario remoto, en caso de problemas, se puede ejecutar el ssh con el parmetro v para que muestre mensajes de cmo va. El SSH nos permite intercambiar archivos mediante los comandos sftp y scp, para poder usar esta funcionalidad es indispensable tener activo el sftp en el archivo de configuracin del sshd normalmente llamado /etc/ssh/sshd_config. A continuacin el rengln que lo activa:
Subsystem sftp /usr/lib/ssh/sftp-server

La forma de transferir es muy semejante al ftp y al rcp, a continuacin muestro un ejemplo de cmo usar el sftp:
hajarami@ubuntu:~$ sftp solaris10 Connecting to solaris10... sftp> put httpd-2.2.16.tar.gz Uploading httpd-2.2.16.tar.gz to /export/home/hajarami/httpd-2.2.16.tar.gz httpd-2.2.16.tar.gz 100% 6220KB 345.5KB/s 00:18 sftp> quit

Como observarn es muy similar su uso al ftp normal se suben archivos con put y se bajan con get. El scp es prcticamente igual al rcp:
hajarami@ubuntu:~$ scp php-5.3.3.tar.gz solaris10:/export/home/hajarami php-5.3.3.tar.gz 100% 13MB 647.4KB/s 00:21

La sintaxis se resumen como scp [servidor1:][path1/]archivo1 [servidor2:]path2[/archivo2]. En el ejemplo estamos transfiriendo el archivo php-5.3.3.tar.gz local al servidor solaris10 en el path /export/home/hajarami. Observarn que es muy sencillo su uso y la ventaja de esto es que no existe el riesgo de que alguien pudiera interceptar nuestro archivo.

También podría gustarte