Windows에서 SSH의 두 계층을 통해 파일 복사

Windows에서 SSH의 두 계층을 통해 파일 복사

제가 일하는 곳에는 로그인 서버가 있고, 그 로그인 서버에서 Linux 박스에 로그인합니다. 에서와 같이,

ssh login@host

ssh computer_name

매번 인증을 제공합니다. (불행하게도) Vista를 실행하는 랩톱에서 작업하는 경우 putty를 실행하여 접속한 login@host다음 열리는 터미널에서 Computer_name에 로그인합니다.

나는 종종 내 컴퓨터의 로컬 파일을 Linux 상자로 가져와야 하며 그 반대의 경우도 마찬가지입니다. 일반적으로 저는 WinSCP를 사용하여 컴퓨터 이름으로 전송한 login@hostname다음 scp를 컴퓨터 이름으로 전송하거나 그 반대로 전송합니다. 그러나 login@hostname저장 공간이 매우 제한되어 있으므로 그런 식으로 더 큰 파일을 얻을 수 없습니다. Computer_name과 내 노트북 ​​간에 직접 파일을 가져오는 방법이 있나요?

답변1

포트를 로컬 포트 ​​전달로 설정합니다. OpenSSH의 경우 다음을 의미합니다.

$ ssh login@host -L 2222:computer_name:22

이로 인해 포트에 대한 모든 연결이 다음 2222을 통해 localhost포트에 전달됩니다 . 이는 여기서 중요합니다 . 그런 다음 팔로우22computer_namehost

$ scp -P 2222 computer_name_user@localhost:remote local

분명히 이것은 또한 당신이 연결할 수 있습니다computer_name

$ scp -p 2222 computer_name_user@localhost

PuTTY는 포트 포워딩을 수행할 수 있지만( scp제가 기억하는 한도 그렇습니다), 판매되는 소프트웨어이기는 하지만 사실상 Cygwin에서 OpenSSH를 사용하는 것이 좋습니다. 왜냐하면 OpenSSH가 사실상의 표준 SSH를 제공하기 때문입니다. 인터페이스(모든 부가 기능 포함).

명확한 중복 항목을 빨리 찾을 수는 없지만 다음 사항을 확인하고 싶을 것입니다.

답변2

SSH의 두 계층을 통해 작업을 수행하는 쉬운 방법은 중간 계층을 숨기는 것입니다.

설정ProxyCommandssh computer_name원래 클라이언트에서 직접 실행할 수 있습니다 . 공개 키 인증을 설정하고 에이전트 전달( ForwardAgent yesin ~/.ssh/config)을 활성화하면 중간 시스템에 자격 증명을 명시적으로 제공할 필요가 없습니다.

이제 원활하게 작동합니다. 파일 복사에 원하는 것을 사용 ssh computer_name하세요 .scprsync

관련 정보