
Deseo obtener un archivo de registro desde una PC remota a través de un servidor de puerta de enlace a mi PC local sin ingresar contraseñas. El servidor de puerta de enlace utilizó acctA@gatewayServer. La PC remota usó acctB@remotePC.
He configurado las claves públicas/privadas de SSH tanto en la puerta de enlace como en el control remoto.
Desde mi PC local, podía acceder mediante SSH a una PC remota directamente mediante 2 saltos sin necesidad de ingresar las contraseñas de las 2 cuentas, usando:
ssh acctA@gatewayServer -t ssh acctB@remotePC
Pero cuando uso SCP con ProxyCommand, me pide la contraseña de acctB. ¿Por qué?
scp -Cp -o "ProxyCommand ssh -q acctA@gateway -W remotePC:22" acctB@remotePC:/opt/logpath/log1.tgz log01.tgz
Gracias y reconocimiento anticipados a cualquiera que pueda aconsejar.
Respuesta1
Lo más sencillo es introducir estas líneas en tu.ssh/configarchivo:
Host remotePC
User acctB
HostName remotePC
ProxyCommand ssh AcctA@gatewayServer nc %h %p 2> /dev/null
que luego puedes usar para conectar o copiar archivos simplemente mediante:
ssh remotePC
scp acctB@remotePC:/home/AcctB/somefile .
Para que esto funcione, necesitas el netcat (Carolina del Norte) comando instalado en el gatewayServer.
Si realmente insistes en una sola frase (pero nunca puedo recordar todo esto), aquí tienes:
ssh -o "ProxyCommand ssh acctA@gatewayServer nc -w 1 %h 22" acctB@remotePC
y lo mismo para scp.