Sunday, December 14, 2008

Ssh Scp

SSH

SSH significa Secure SHell, y es la vía por la cual se conecta remotamente a un equipo con Linux para acceder a un terminal de comandos (shell), uno igual al que usas en tu PC pero remotamente. La información viaja encriptada por lo que además de ser útil es seguro, y claro, mucho más rápido que FTP si se quiere hacer algo como instalar y configurar un Wordpress +plugins.

Para conectarse remotamente por SSH, la sintaxis del comando es ésta:

$ ssh usuario@NU.ME.RO.IP

O bien:

$ ssh usuario@servidor.com

Obviamente el usuario con que se conecta no es el del equipo que se esta usando, sino de la cuenta del equipo remoto. Ahora, si el usuario es el mismo en ambos lados, se puede omitirlo:

$ ssh servidor.com

Una vez que se esta conectado, se puede ejecutar comandos al igual que si se abriera un terminal en el mismo computador.

También se puede ejecutar un comando único vía SSH, sin necesidad de loggearse al sistema:

$ ssh servidor.com aplicacion

O sea:

$ ssh bootlog.cl uname -a

Y por último, se puede ejecutar una aplicación X en el sistema remoto pero utilizando el display local. Sólo se tiene que agregar -X después de SSH:

$ ssh -X servidor.com aplicacion

SCP

SCP significa Secure CoPy es una parte más de SSH, que permite transferir archivos o carpetas entre computadores. La sintaxis es bien simple:

$ scp archivo usuario@servidor.com:ruta

Y para copiar a la inversa, desde el computador remoto al propio, simplemente se tiene que invertir el orden de los elementos:

$ scp usuario@servidor.com:ruta/archivo ruta_local

O sea por ejemplo, si se quisiera mandar algo al servidor:

$ scp hola.txt tomas@bootlog.cl:/www/sitio

Mandaría el archivo hola.txt y lo dejaría en la carpeta /www/sitio en el servidor bootlog.cl. También se puede mandar carpetas completas (con -r):

$ scp -r viajealsur/ tomas@bootlog.cl:/www/sitio/fotos

Así mandaría la carpeta /viajealsur completa a /www/sitio/fotos. En acción:

terminal_ssh_scp1.jpg

Ahora, el mismo proceso a la inversa sería:

$ scp -r tomas@bootlog.cl:/www/sitio/fotos/viajealsur ~

Esto copiaría la carpeta viajealsur/ del servidor a la carpeta /home del usuario local.

Ah, y a propósito de carpetas home, como en SCP (y en SSH) la ruta por defecto es la carpeta de usuario, si se quiere copiar algo hacia o desde ahí, se puede omitir la ruta:

$ scp cancion.mp3 bootlog.cl:

En este caso la sintaxis está bien, ya que el usuario de prueba se llama ‘tomas’ en ambos lados, así que no se tiene que escribir de nuevo, y como se esta copiando el archivo cancion.mp3 a la carpeta de usuario, también se puede omitir la ruta.

El tip: Cómo conectarse por SSH o SCP sin contraseña

Si se esta conectando siempre a los mismos equipos, o se corta la conexión, lo mas practico es generar una llave rsa

$ ssh-keygen -t rsa

Este comando genera dos archivos, id_rsa.pub e id_rsd. Se necesita copiar el contenido del primero al otro computador, específicamente al archivo authorized_keys dentro de ~/.ssh/ Primero se copia por SCP.

$ scp id_rsa.pub usuario@servidor:

Ahora se conecta por SSH y se ve si existe el archivo authorized_keys dentro de ~/.ssh/. Si ese no es el caso, se escribe:

$ mv id_rsa.pub .ssh/authorized_keys

Si el archivo existía (que significa que para ese usuario en ése PC, hay otros equipos “de confianza”). Vamos a copiar los contenidos de id_rsa.pub a authorized_keys:

$ cat id_rsa.pub >> .ssh/authorized_keys

Para copiar un archivo preservando los permisos originales del archivo:


$ scp -P archivo direccion_IP:/ruta

Pestañas en Vim

Para abrir una nueva pestaña o solapa se debe usar el siguiente comando
:tabnew [archivo]
esto creara la pestaña y el contenido del archivo definido [archivo] en ella.
Para abrir múltiples pestañas con múltiples archivos al iniciar el editor de textos se debe emplear el comando
vim -p archivo1 archivo2 archivo3
Esto abrirá el archivo 1 en la primera pestaña, el archivo 2 en la segunda y así sucesivamente, por defecto Vim soporta hasta 10 pestañas en simultaneo, pero esto se puede modificar editando el archivo
.vimrc
que esta en el directorio principal y agregando la siguiente entrada
set tabpagemax=[valor]
donde en valor se debe colocar la cantidad se pestañas que se quiera tener como máximo. Para moverse entre pestañas se utilizan los comandos
:tabn y :tabp
Con el primero se avanza hacia la siguiente pestaña y con la siguiente se retrocede pestañas, de todas formas se puede elegir mediante las teclas Ctrl+PgUp y Ctrl+PgDn o con un Click del Mouse

Labels:

Enlace a lo proyecto Spread Open Media