Saltar al contenido

Cómo copiar archivos de forma remota a través de SSH sin ingresar una contraseña

SSH es un salvavidas si necesita administrar su computadora de forma remota, pero ¿sabía que también puede cargar y descargar archivos? Puede usar una clave SSH para omitir ingresar la contraseña y usarla en sus scripts.

Este proceso funciona en Linux y Mac OS si está configurado correctamente para el acceso SSH. Si está utilizando Windows, puede utilizar Cygwin para obtener funciones similares a las de Linux. Con solo unos pocos ajustes, SSH también se ejecutará.

Copiar archivos a través de SSH

Secure Copy es un comando muy útil y muy fácil de usar. El formato básico del comando es:

scp [options] archivo_original archivo_destino

El mayor truco es cómo formatear partes remotas. Cuando se dirige a un archivo remoto, debe hacerlo de las siguientes maneras:

usuario @ servidor: ruta / a / archivo

El servidor puede ser una URL o una dirección IP. Esto va seguido de dos puntos, seguido de la ruta al archivo o carpeta en cuestión. Veamos un ejemplo.

scp –P40050 Escritorio /url.txtyatri@192.168.1.50:~/Desktop/url.txt

Este comando [-P] Bandera (tenga en cuenta que es una P mayúscula). Esto le permite especificar un número de puerto en lugar del predeterminado 22. Esto es necesario para la configuración del sistema.

A continuación, el archivo original es «url.txt» en un directorio llamado «Escritorio». El archivo de destino está en «~ / Desktop /url.txt», que es el mismo que «/ user / yatri / Desktop /url.txt». Este comando está siendo ejecutado por el usuario «yatri» en la computadora remota «192.168.1.50».

ssh 1

¿Qué pasa si necesito hacer lo contrario? Del mismo modo, puede copiar archivos desde un servidor remoto.

ssh 2

Aquí, copié los archivos de la carpeta «~ / Desktop /» en la computadora remota a la carpeta «Desktop» en la computadora.

Debe usar para copiar todo el directorio [-r] Bandera (tenga en cuenta que es una r minúscula).

recursividad scp

También puedes combinar banderas.En vez de

scp –P –r…

Tu puedes sólo

scp – Pr…

La parte más difícil aquí es que la finalización de pestañas no siempre funciona. Por lo tanto, es útil tener otro terminal ejecutando una sesión SSH y saber dónde poner las cosas.

SSH y SCP sin contraseña

Una copia segura es genial. Puede ponerlo en un script para realizar una copia de seguridad en una computadora remota. El problema es que no siempre estoy ahí para ingresar mi contraseña. Y para ser honesto, ingresar una contraseña en una computadora remota a la que siempre tiene acceso es una verdadera molestia.

Ahora, puede usar el archivo de claves y usar la contraseña para eludirlo. Puede hacer que su computadora genere dos archivos clave. Uno es un archivo público que pertenece a un servidor remoto y el otro es un archivo privado que está en su computadora y debe ser seguro. Se utilizan en lugar de contraseñas. Es bastante conveniente, ¿no?

En su computadora, ingrese el siguiente comando:

ssh-keygen –t rsa

Esto generará dos claves y las colocará en las siguientes ubicaciones:

~ / .Ssh /

Nombra la clave privada «id_rsa» y la clave pública «id_rsa.pub».

keygen 1

Cuando ingrese el comando, se le preguntará dónde guardar la clave. Puede utilizar los valores predeterminados anteriores presionando Enter.

Luego se le pedirá una frase de contraseña. Presione Enter para dejarlo en blanco e intente nuevamente cuando se le solicite confirmación. El siguiente paso es copiar el archivo de clave pública a la computadora remota. Puedes usar scp para hacer esto.

keygen 2

El destino de la clave pública está en el servidor remoto en el siguiente archivo:

~ / .Ssh / claves_autorizadas2

Se pueden agregar claves públicas posteriores a este archivo, así como al archivo ~ / .ssh / known_hosts. Es decir, si desea agregar otra clave pública a la cuenta de este servidor, copie el contenido del segundo archivo id_rsa.pub en una nueva línea en el archivo autorizado_keys2 existente.

Consideraciones de Seguridad

¿No es esto menos seguro que una contraseña?

En un sentido práctico, ese no es realmente el caso. La clave privada generada se almacena en su computadora, ni siquiera se verifica y nunca se transfiere. Esta clave privada solo coincide con esa clave pública, y la conexión debe comenzar desde la computadora que contiene la clave privada. RSA es muy seguro y utiliza una longitud de 2048 bits por defecto.

En teoría, es bastante similar a usar una contraseña. Si alguien conoce su contraseña, su seguridad se pierde por la ventana. Si alguien tiene su archivo de clave privada, se perderá la seguridad de la computadora que tiene la clave pública correspondiente, pero deberá acceder a su computadora para obtenerla.

¿Es esto más seguro?

Puede combinar contraseñas y archivos de claves. Siga los pasos anteriores, pero ingrese una contraseña segura.Ahora, si desea conectarse a través de SSH o utilizar SCP, necesitará el archivo de clave privada adecuado. igual que Frase de contraseña apropiada.

Una vez que ingrese su contraseña, no se le pedirá hasta que cierre la sesión. Esto significa que la primera vez que utilice SSH / SCP, deberá ingresar la contraseña, pero todas las acciones posteriores no la requieren. Después de cerrar la sesión de su computadora (no remota) o cerrar la ventana del terminal, deberá ingresar nuevamente. De esta manera, realmente no sacrifica la seguridad, pero no siempre es acosado por su contraseña.

¿Puedo reutilizar un par de claves pública / privada?

Esta es una muy mala idea. Si alguien encuentra su contraseña y usted usa la misma contraseña para todas sus cuentas, esa persona tendrá acceso a todas esas cuentas. Del mismo modo, el archivo de clave privada es confidencial e importante. (Para obtener más información, consulte Cómo recuperar contraseñas de correo electrónico después de que se hayan visto comprometidas)

Le recomendamos que cree un nuevo par de claves para todas las computadoras y cuentas vinculadas. De esa manera, si se captura una de las claves privadas por cualquier motivo, solo se verá comprometida una cuenta en una computadora remota.

También es muy importante tener en cuenta que todas las claves privadas se almacenan en la misma ubicación. Puede usar TrueCrypt para crear un contenedor de cifrado seguro con ~ / .ssh / en su computadora y enlaces simbólicos con ~ / .ssh. /directorio.Uso esto dependiendo de lo que estoy haciendo Super paranoico Una forma súper segura de tranquilizar mi mente.


¿Alguna vez usaste SCP en un script? ¿Está utilizando un archivo de claves en lugar de una contraseña? ¡Comparta su propia experiencia con otros lectores en los comentarios!