중간 서버를 통해 파일을 SCP로 저장하려면 어떻게합니까?


15

WinXP에서 Ccygwin을 사용하고 있습니다 (bash 쉘 사용). 로컬 호스트에서 원격 컴퓨터 인 host2로 파일을 SCP로 보내려고합니다. 그러나 중간 시스템 인 host1에만 SSH를 연결 한 다음 SSH를 host2로 연결할 수 있습니다. (내 로컬 호스트에서 host2에 액세스 할 수 없습니다).

터널링이 내 대답이라고 생각했지만 터널을 설정하려고 할 때

ssh -L 9999:localhost:9998 dalvarado@host1 'ssh -L 9998:localhost:1234 -N dalvarado@host2'

그러나이 명령을 입력하고 Enter 키를 누르면 시스템이 중단됩니다. 터널을 설정 한 다음 SCP를 파일로 설정하는 올바른 방법은 무엇입니까?

감사, -


2
superuser.com/questions/174160/…과 중복 -요약은 아래 답변을 참조하십시오.
jmetz


답변:


17

이것은 이미 여기에서 가장 잘 대답되었습니다 .

요약하면 다음을 입력하십시오. ~/.ssh/config

Host target.machine
User          targetuser
HostName      target.machine
ProxyCommand  ssh proxyuser@proxy.machine nc %h %p 2> /dev/null

그런 다음 scpproxy.machine을 통해 프록시 할 때마다 단순히 target.machine을 지정하십시오!

또한 작동 ssh하므로 대상 시스템에 대한 시간 ssh-ing도 절약됩니다.

크레딧은 2011 년에 이에 응답 한 user24925에게 전달되어야합니다.


13

SSH 터널을 설정하려면 다음 형식을 사용하십시오.

ssh -L 9999:host2:22 user@host1

이 명령은 명령을 실행하는 컴퓨터의 host1as user및 터널 포트 9999를 포트 22의 포트에 연결합니다 host2. -N선택 사항이거나 필요한 경우 세션을 활성 상태로 유지하기 위해 top또는 이와 유사한 것을 사용할 수 있습니다 watch.

그런 다음 scplocalhost : 9999의 host2로 간단히 이동하십시오.


1
이 명령을 실행할 때 host1에 로그인해야합니까? 또한이 명령을 실행 한 후 다른 bash 셸을 열고 "scp hello.txt localhost : 9999"를 실행했지만 "ssh : 호스트에 연결합니다. localhost 포트 22 : 연결이 거부되었습니다"오류가 발생했습니다. 내가 여기서 뭘 잘못하고 있니?
Dave

3
이 명령을 실행하면 host1에 연결됩니다 (예). 귀하의 scp명령 구문은 잘못된 생각이다. 로그인하려는 사용자가있는 scp -P 9999 hello.txt user@localhost:/path/to/destination/file곳에서 시도하십시오 . userhost2
Rain

1
@Rain, 당신은이 대답을 주된 대답에 넣을 수 있습니다;)
dmeu

5

이후 OpenSSH를 7.3 , 당신은 사용할 수 있습니다 -J또는 -o ProxyJump요새 / 점프 호스트를 지정할 수 있습니다. 따라서 SSH를 node2통해 node1:

ssh -J you@node1 you@node2

SCP는 -J논쟁이 없지만 허용 -o합니다.

scp -o ProxyJump=you@node1 file.txt you@node2:~

3

먼저 다음과 같이 파일을 host1로 scp 할 수 있습니다.

scp file dalvarado@host1:.

그런 다음 host2에 가져 오십시오.

ssh -t dalvarado@host1 'scp file dalvarado@host2:.'

-t에 옵션 ssh쉽게 있도록 할 수는 의사 터미널 할당하는 힘, scphost1에서이 암호 / 암호를 묻는 메시지를 표시합니다. ssh-agent가 어디서나 실행되고 구성되어 있으면 암호 / 암호를 입력하라는 메시지가 표시되지 않습니다.

터널을 사용하는 경우 터널을 설정하는 명령과 터널을 통해 파일을 복사하는 명령의 두 가지 명령이 여전히 필요하기 때문에이 대안을 제공합니다. 이것은 더 단순 해 보인다.


환상적인 솔루션 !!!
리카르도
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.