
Desejo obter o arquivo de log de um PC remoto através de um servidor gateway para o meu PC local sem digitar senhas. O servidor gateway usou acctA@gatewayServer. O PC remoto usou acctB@remotePC.
Eu configurei as chaves públicas/privadas SSH no gateway e no remoto.
Do meu PC local, eu poderia usar SSH no remotePC diretamente por meio de 2 saltos, sem a necessidade de digitar as senhas das 2 contas, usando:
ssh acctA@gatewayServer -t ssh acctB@remotePC
Mas quando uso o SCP com ProxyCommand, ele me pede a senha do acctB. Por que?
scp -Cp -o "ProxyCommand ssh -q acctA@gateway -W remotePC:22" acctB@remotePC:/opt/logpath/log1.tgz log01.tgz
Agradecimentos antecipados e apreço a qualquer pessoa que possa aconselhar.
Responder1
O mais fácil é introduzir essas linhas em seu.ssh/configarquivo:
Host remotePC
User acctB
HostName remotePC
ProxyCommand ssh AcctA@gatewayServer nc %h %p 2> /dev/null
que você pode usar para conectar ou copiar arquivos simplesmente por meio de:
ssh remotePC
scp acctB@remotePC:/home/AcctB/somefile .
Para que isso funcione, você precisa do netcat (não) comando instalado no gatewayServer.
Se você realmente insiste em uma frase única (mas nunca consigo me lembrar de tudo isso), aqui está:
ssh -o "ProxyCommand ssh acctA@gatewayServer nc -w 1 %h 22" acctB@remotePC
e da mesma forma para scp.