
Primera publicación aquí, y traigo un (quizás) gran desafío para ti. Estoy intentando alcanzar mi objetivo durante 2 días, sin suerte.
Necesito copiar una lista enorme de archivos ("sólo" algo así como 900.000 archivos, aproximadamente 3 TB de datos) de un servidor a otro. El problema es: estos servidores no están en la misma red/dominio y no están en el mismo lugar. De hecho, están en diferentes ciudades y cada una tiene su propio dominio.
Podemos acceder a cada servidor con una conexión de servidor de terminal (para deshacernos de IP, usamos servicios NO-IP), pero no podemos copiar tantos archivos usando este método. Sabemos que podemos usar FTP y/o VPN, pero debido al enorme tamaño de los datos, simplemente no funciona (pérdida de conexiones, tiempos de espera, etc.).
Entonces, a partir deaquí, encontré Powershell como candidato para resolver el problema, usando New-PSSession
y/o New-PSDrive
. De hecho, PowerShell incluso solicita usuario/contraseña, pero no pude conectar un servidor a otro. Para empeorar las cosas, soy un novato con Powershell.
Bueno, el primer requisito que vi es agregar los servidores a una lista de confianza y verificar si WinRM está funcionando en ambos. Lo hice con winrm quickconfig
y Set-Item WSMan:\localhost\Client\TrustedHosts -Value 'no-ip.servername.here'
. Ambos comandos en ambos servidores devuelven bien.
Luego, intenté conectar el servidor A con B. En el servidor se utilizó AI $server_b = New-PSSession -computername no-ip.servername.here -credential domain_b\administrador
. En este punto, el servidor A solicita nombre de usuario y contraseña. Escribo, pero PowerShell devuelve muchos errores sobre autenticación, Kerberos, usuario/contraseña incorrectos y muchos otros. No puedo ofrecer una captura de pantalla porque nuestros servidores utilizan sistemas portugueses de Brasil.
Al leer más sobre New-PSSession
, probé muchas opciones, como autenticación, transporte, conexión y otras, sin éxito...
Entonces, ¿qué me puedes sugerir?
Gracias por el consejo.
Respuesta1
¡Lo hice! ¡GUAU!
Vamos:
- Asegúrese de que el servicio WinRM esté funcionando en ambas computadoras:
get-service winrm
. Si no, inícielo:start-service winrm
- Asegúrese de que el puerto 5985 esté abierto. Hazlo tú mismo con tu módem/enrutador
- Asegúrese de que la dirección NO-IP de su cliente sea confiable en el servidor:
get-item wsman:\localhost\client\trustedhosts
. Si no, agrégalo:set-item wsman:\localhost\client\trustedhosts -value 'client_no-ip_address' -force
- Asegúrese de que su cliente confíe en su servidor como se indica arriba, pero use suservidorNO dirección IP
- En el cliente, deshabilite algunas comprobaciones de seguridad:
$option = new-pssessionoption -skipcacheck -skipcncheck
- Conéctese a su servidor:
$my_server = new-pssession -computername server_no-ip_address -credential domain\user -sessionoption $option
¡Aquí tienes!