Si su servidor B tiene fusibles y sshfs instalados y ambos servidores son permanentes (fix ip, 24/7) su mejor opción es montar el directorio del otro servidor y copiar archivos a través de ese canal .
En serverB:
$ mkdir $HOME/serverA
$ sshfs [email protected]:restricteddirectory serverA
a partir de ahora, sus scripts en serverB pueden copiar archivos en $ HOME / serverA. Esta es una solución razonablemente segura. Dado que el canal se configura manualmente, no se pueden robar contraseñas ni archivos de clave no protegidos. Además, el posible atacante no podrá escapar del directorio restringido en ServerA. Se alcanzan todos los objetivos. La parte trasera es que tiene que volver a montar el directorio cada vez que (uno) el servidor se reinicie. En el entorno empresarial, esto podría ser un problema menor, y puede configurar un script / cron para verificar la conexión y enviarle un correo si el otro lado no está disponible (para que pueda iniciar sesión y solucionar el problema).
Si el servidor tiene una IP dinámica o está fuera de línea con frecuencia , este enfoque no funcionará. El uso de scripts automatizados para acceder al servidorA requerirá que almacene su contraseña o clave de acceso no protegida en el servidorA, por lo tanto, no hay forma de evitar que un atacante exitoso del servidor B llegue al servidor A con su nivel de privilegio. (Sin embargo, esto no significa en absoluto que (s) él pueda "hackear el Servidor A". Usted es un usuario sin privilegios. Pero su cuenta se verá comprometida con seguridad).
De hecho, podrías intentar resolver problemas con la pantalla y ssh-agent para evitar el almacenamiento de credenciales, pero enfrentarás uno de los problemas antes, si el servidor B se reinicia, debes iniciar sesión y arreglar las cosas.
La única solución verdaderamente segura que me viene a la mente en este caso es usar un almacenamiento intermedio. Configure una cuenta en un tercer lugar (servidor C), restrinja el acceso a la dirección IP del servidor A y del servidor B y puede hacer un proxy de todos los datos fácilmente. En el servidor A, sus scripts de extracción obtendrán los datos. Debido a que nunca accede al servidor A desde el servidor B, su cuenta no puede ser hackeada incluso si el servidor B se compromete silenciosamente en el nivel raíz.