Saltar al contenido principal
Inicio - Soporte de OCLC

Cargue archivos de datos de usuarios en curso usando SFTP sin contraseña

La traducción de este sitio web se genera mediante traducción automática. La calidad y precisión de la traducción automática pueden variar significativamente de un texto a otro.

 

Descubra cómo enviar y recuperar archivos mediante la autenticación por par de claves pública/privada para SFTP sin contraseña con Linux.

Puede enviar y recuperar archivos mediante la autenticación por par de claves pública/privada para SFTP sin contraseña. Esto automatiza la entrega de archivos a OCLC y elimina la necesidad de ingresar manualmente una contraseña cuando se utiliza una cuenta de intercambio de archivos de OCLC . También permite a su institución cambiar la clave periódicamente para mayor seguridad.

Por razones de seguridad, OCLC no admite el paso de la contraseña SFTP mediante un script; en su lugar, ofrece la solución de pares de claves pública/privada que permite escribir scripts totalmente automatizados para cargar y descargar en nuestro servidor.

 Nota: OCLC admite SHA-224 y versiones posteriores.

Linux

Este procedimiento es para sistemas Linux. Aunque se utilizarían métodos similares para otros sistemas, OCLC ha probado este método utilizando Linux como máquina cliente SCP y SFTP. Se solicita una contraseña al cargar la clave pública, pero una vez reemplazada, los inicios de sesión y transferencias de archivos futuros no requerirán una contraseña.

Genere y cargue su clave pública

Para generar y cargar su clave pública en su cuenta de intercambio de archivos de OCLC :

  1. Genere un par de claves pública/privada en su máquina cliente y guárdelo en un archivo denominado /home/user1/.SSH/id_rsa.pub en su máquina local.
     Nota:  si no está seguro de cómo generar un par de claves privada/pública, puede utilizar el método que se describe a continuación, el cual coloca automáticamente el archivo de clave privada/pública en el lugar correcto de su máquina local.
  2. Cargue su clave pública en .ssh/authorized_keys en su cuenta de intercambio de archivos de OCLC .

 Nota: no borre el archivo .ssh/authorized_keys existente antes de cargar uno nuevo. El nuevo archivo que cargue reemplaza automáticamente el archivo existente y conserva sus permisos y propiedades de propiedad. Si elimina el archivo existente antes de cargar el nuevo archivo, no tendrá suficientes derechos en el sistema para establecer la propiedad de grupo necesaria para .ssh/authorized_keys y por lo tanto se le seguirá pidiendo una contraseña.

Automatice una transferencia SFTP entre dos servidores

Configuración de SSH

La mayor parte de esto depende de la configuración de SSHd, el demonio SSH (Secure SHell) que se ejecuta en el servidor al que intenta conectarse. Nos referiremos a este servidor como "server2.com" con fines demostrativos.

Verifique "SSHd_config" en ese servidor, generalmente en /etc/SSH. En algunos casos, estas configuraciones no siempre están presentes o no están configuradas de la manera que usted necesita:

RSAAuthentication sí PubkeyAuthentication sí

Esto habilita el mecanismo de autenticación de clave pública/privada que utilizará.

Generación de claves públicas/privadas

Genere el par de claves en la máquina Linux desde la que desea conectarse. Nos referiremos a este servidor como "server1.com" con fines demostrativos. Es en ese cuadro donde planea ejecutar SSH, SFTP o Rsync.

SSH-keygen -t rsa Generando par de claves rsa pública/privada. Ingrese el archivo en el que desea guardar la clave (/home/usuario1/.SSH/id_rsa): Ingrese la frase de contraseña (vacío si no hay frase de contraseña): Ingrese la misma frase de contraseña nuevamente: Su identificación se ha guardado en .SSH/id_rsa. Su clave pública se ha guardado en .SSH/id_rsa.pub. La huella digital de la clave es: c1:21:e 3:01:26:0d:f7:ec:52:0e:0c:90:9b:6e:d8:47 usuario1@servidor1.com

El comando anterior genera un par de claves pública/privada. Responda a cada solicitud presionando <Enter>. La posesión de la clave privada es suficiente para obtener acceso a los recursos en los que haya colocado la clave pública correspondiente.

No debe ingresar una frase de contraseña para la clave privada para configurar una solución automatizada. Si ingresa una frase de contraseña, deberá ingresarla para usar la clave privada. 

 Nota: Al no colocar una frase de contraseña en su clave privada, la implicación de seguridad es que la mera posesión de la clave privada es suficiente para obtener acceso a los recursos en los que haya colocado la clave pública correspondiente. Proteja su clave privada.

La clave privada se colocó en /home/usuario1/.SSH/id_rsa. Esto debe mantenerse seguro debido a las implicaciones de seguridad mencionadas anteriormente, pero también debe estar disponible para el proceso de intentar establecer una conexión SSH, SFTP o Rsync. Si estas herramientas se ejecutan con la cuenta "usuario1", las herramientas buscarán automáticamente en el directorio ".SSH" y no será necesario que especifique la ubicación de la clave privada. De lo contrario, las opciones de la línea de comandos deben señalar el lugar y la clave correctos.

La clave pública se encuentra en /home/user1/.SSH/id_rsa.pub. Esta es la clave que se distribuye a aquellos lugares que desean otorgarle acceso.

Plantar la clave pública

  1. En el servidor remoto, server2.com, elija cualquier cuenta a la que desee conectarse.
  2. En el directorio principal de esa cuenta, cree un archivo .ssh subdirectorio y cree un nuevo archivo de texto denominadoauthor_keys en ese directorio. Si ya existe un archivo de texto con este nombre, utilice el archivo existente.
  3. En el servidor remoto, server2.com, elija cualquier cuenta a la que desee conectarse. En el directorio principal de esa cuenta, cree un archivo .ssh subdirectorio y cree un nuevo archivo de texto denominadoauthor_keys en ese directorio. Si ya existe un archivo de texto con este nombre, utilice el archivo existente.

     Nota: si usted crea el archivo y/o directorio, se recomienda que el directorio sea chmod 700 y el archivo 600. De esta forma, solo el propietario puede acceder al directorio y al archivo que contiene.

  4. Agregue a ese archivo el contenido del archivo id_rsa.pub creado anteriormente. Eso sería una *línea sencilla* que se vería así:
    ssh-rsa <lots of characters> usuario1@servidor1.com
    
  5. Una vez guardada, cualquier persona que posea la clave privada que coincida con esta clave pública podrá iniciar sesión con esta cuenta.

SFTP

La clave pública se plantó en la cuenta user2 en server2.com. Así que ahora, servidor1.com inició sesión como usuario1, y donde la clave privada está almacenada como se describe anteriormente, una sesión SFTP se ve así:

sftp usuario2@servidor2.com

"usuario2" especifica la cuenta remota en server2.com con la que se iniciará la sesión.

La autenticación ocurre porque la clave privada coincide con la clave pública, lo que indica que usted está autorizado para iniciar sesión en esa cuenta. Se abre una sesión SFTP sin necesidad de interactividad.

 Nota: si ingresó una frase de contraseña en la clave privada, se le habría pedido que la ingrese aquí. Esta es la frase de contraseña para desbloquear la clave privada, que es local. No tiene nada que ver con ninguna contraseña del sitio remoto

Rsync

Puede usar Rsync para operaciones de copia de archivos, que pueden manejar compresión inteligente, copiar solo si es necesario, recursividad, retención de atributos de compresión, estampado de fecha/hora y muchas otras operaciones.

Si todas las claves están configuradas como se indica arriba, este comando Rsync copia un archivo de la máquina local a la remota:

rsync -e ssh file usuario2@servidor2.com:/home/usuario2/

El “archivo” local se copia en el archivo /home/usuario2/remoto después de iniciar sesión como “usuario2” utilizando ssh como transporte (de ahí la opción “-e ssh”), y con ello, utilizando el par de claves pública/privada que creó para la autenticación sin necesidad de interactividad.

SSH

SSH también funciona para abrir un shell remoto una vez que las claves están en su lugar. Si todas las claves están configuradas como se indica arriba, este comando SSH abre un shell remoto en el servidor2, que inició sesión como usuario2.

ssh usuario2@servidor2.com

Ejemplo

 Nota: Los siguientes ejemplos indican más de un espacio para ilustrar dónde se necesita un espacio. Cuando ingrese sus comandos, use solo un espacio.

Si utiliza un sistema basado en Linux, puede utilizar cualquiera de estos comandos para cargar el archivo de clave pública en la ubicación correcta. Antes de usar cualquiera de estos comandos, debe generar una clave pública/privada.

Método Pasos
SFTP
  1. Ingresar SFTP [ nombre de usuario de la cuenta de intercambio de archivos de OCLC ]@[centro de datos].oclc.org
  2. Ingrese put /home/[nombre de usuario para la máquina local]/.SSH/id_rsa.pub .ssh/authorized_keys
  3. Ingresar salir
Copia segura
  1. Ingrese scp /home/[nombre de usuario del equipo local]/.ssh/id_rsa.pub [ nombre de usuario de la cuenta de intercambio de archivos de OCLC ]@[centro de datos]:.ssh/authorized_keys

Si utiliza un cliente SFTP como FileZilla, siga estos pasos para cargar el archivo de clave pública en la ubicación correcta. Antes de usar este comando, debe generar una clave privada/pública.

Método Pasos
SFTP
  1. En su máquina local, cambie el nombre del archivo id_rsa.pub aauthorized_keys.
  2. Inicie sesión en su cuenta de intercambio de archivos de OCLC . Usted estará en el directorio de inicio, que corresponde a su nombre de usuario.
  3. Desde su directorio de inicio, haga clic en /.ssh. Verá un archivoauthorized_keys existente.
  4. Cargue el archivoauthorized_keys desde su máquina local al directorio /.ssh.  Recibirá un mensaje indicándole que el archivo de destino ya existe; elija la acción para sobrescribir el archivo de destino.