Copie o arquivo de log remoto em sessões SSH de 2 lúpulos, sem a necessidade de digitar senhas

2

Eu desejo obter o arquivo de log de um PC remoto através de um gatewayServer para o meu PC local sem digitar senhas. O servidor de gateway usou acctA @ gatewayServer. O PC remoto usado acctB @ remotePC.

Eu configurei as chaves privadas / públicas do SSH no gateway & remoto.

Do meu PC local, eu poderia SSH em remotePC diretamente via 2 hops sem a necessidade de digitar as senhas das 2 contas, usando:     ssh acctA@gatewayServer -t ssh acctB@remotePC

Mas quando eu uso o SCP com o ProxyCommand, ele me pergunta a senha do acctB. Por quê?

scp -Cp -o "ProxyCommand ssh -q acctA@gateway -W remotePC:22" acctB@remotePC:/opt/logpath/log1.tgz log01.tgz

Adiantar obrigado & agradecimento a qualquer um que possa aconselhar.

    
por user1340106 08.06.2015 / 12:30

1 resposta

0

O mais fácil é introduzir essas linhas em seu arquivo .ssh / config :

  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 comando netcat ( nc ) instalado no gatewayServer.

Se você realmente insistir em um one-liner (mas eu nunca consigo me lembrar de todas essas coisas), aqui vai:

ssh -o "ProxyCommand ssh acctA@gatewayServer nc -w 1 %h 22" acctB@remotePC

e da mesma forma para scp.

    
por 09.06.2015 / 10:28