2계층 SSH를 통해 Windows에서 파일 복사

2계층 SSH를 통해 Windows에서 파일 복사

제가 일하는 로그인 서버가 있고, 그 로그인 서버에서 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

이렇게 하면 포트에 대한 모든 연결이 via (여기서 중요함) 의 포트 로 전달 2222됩니다 . 그럼 팔로우해localhost22computer_namehost

$ scp -P 2222 computer_name_user@localhost:remote local

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

$ scp -p 2222 computer_name_user@localhost

PuTTY는 포트 전달이 가능하며( scp내가 기억하는 한 그것도 있음), 비록 판매된 소프트웨어이긴 하지만 실제로 Cygwin에서 OpenSSH를 사용하는 것이 좋습니다. 이는 사실상의 표준 SSH 인터페이스를 제공하기 때문입니다(모든 종소리와 휘파람) 기능).

명확한 중복 항목을 빨리 찾을 수는 없지만 다음 사항을 확인해 보세요.

답변2

SSH의 두 계층에 걸쳐 작업을 수행하는 간단한 방법은 중간 계층을 숨기는 것입니다.

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

이제 원활하게 작동합니다. 원하는 방식 으로 ssh computer_name파일을 복사하기만 하면 됩니다 .scprsync

관련 정보