비밀번호를 입력할 필요 없이 2홉 SSH 세션을 통해 원격 로그 파일 복사

비밀번호를 입력할 필요 없이 2홉 SSH 세션을 통해 원격 로그 파일 복사

비밀번호를 입력하지 않고 게이트웨이 서버를 통해 원격 PC에서 로컬 PC로 로그 파일을 가져오고 싶습니다. 게이트웨이 서버는 acctA@gatewayServer를 사용했습니다. 원격 PC는 acctB@remotePC를 사용했습니다.

게이트웨이와 원격 모두에 SSH 개인/공개 키를 설정했습니다.

내 로컬 PC에서 다음을 사용하여 두 계정의 비밀번호를 입력할 필요 없이 2홉을 통해 직접 원격 PC에 SSH로 연결할 수 있습니다. ssh acctA@gatewayServer -t ssh acctB@remotePC

하지만 ProxyCommand와 함께 SCP를 사용하면 acctB의 비밀번호를 묻습니다. 왜?

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

조언을 해줄 수 있는 사람에게 미리 감사를 표합니다.

답변1

가장 쉬운 방법은 이러한 라인을.ssh/config파일:

  Host remotePC
  User          acctB
  HostName      remotePC
  ProxyCommand  ssh AcctA@gatewayServer nc %h %p 2> /dev/null

그런 다음 다음을 통해 간단하게 파일을 연결하거나 복사하는 데 사용할 수 있습니다.

  ssh remotePC
  scp acctB@remotePC:/home/AcctB/somefile .

이것이 작동하려면 netcat이 필요합니다(체크 안함) 명령이 게이트웨이 서버에 설치되었습니다.

정말로 한 줄만 고집한다면(그러나 이 내용을 모두 기억할 수는 없습니다), 여기 있습니다:

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

scp도 마찬가지입니다.

관련 정보