Automatizar las conexiones FTP

Si tienes que conectarte a muchas maquinas para transferir ficheros entre ellas mediante FTP, se hace pesado el tener que indicar usuario / clave cada vez que queremos conectar. Gracias a este tip podremos conectarnos por FTP a un servidor autentificándonos de manera automática, lo que lo hace tambien útil para automatizar una conexión mediante un shell script (por ejemplo).

Para ello, en el directorio $HOME del usuario crearemos un fichero .netrc con el siguiente contenido:

machine <servidor al que queremos conectar>
login <nombre de usuario>
password <password de acceso>

Un ejemplo podría ser:

machine ftp.miservidor.net
login soy_yo
password no_la_recuerdo

Tambien es importante darle permisos 600 (solo lectura y escritura para el usuario) a este fichero; muchos sistemas no te dejan entrar si este fichero no tiene esos permisos y además hay que tener en cuenta que ese fichero contiene la contraseña en texto plano. Para darle al fichero .netrc permisos 600 ejecutamos:

$ sudo chmod 600 .netrc

Tras todo esto ya podremos loguearnos en el servidor FTP (por ejemplo, ejecutando “ftp ftp.miservidor.net”) y no pedirá ni el usuario ni la contraseña.

Más trucos:

Si necesitas traerte muchos ficheros y no quieres que te vaya pidiendo confirmacion cada vez que lo hagas, puedes emplear la orden “prompt”, con lo que evitamos las preguntas donde pide confirmacion (la tipica pregunta del “…(Y/n)?”) cuando descargamos un fichero.

Otras órdenes interesantes son:

bin, para transferir los ficheros en modo binario. Así te aseguras de que los ficheros se transfieran bien ya sean binarios o de texto plano (muchas veces sueles descargarte un fichero binario como si fuera de texto y esto lo corrompe; esta orden lo evita).

hash, para marcar con un # conforme vaya transfiriendo el fichero. Util para ver la evolucion de la transferencia.

mget *.*, descarga todos los ficheros del directorio actual. Si lo combinas con “prompt” es de lo mas util para bajarte el contenido de un servidor FTP de manera desasistida.

Visto en UbuntuLife, a su vez visto en Javier Galvez

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: