다른 서버에서 접속해야 하는 서버에서 작업하고 있습니다. 예:
ssh [email protected]
ssh [email protected]
에는 직접 연결할 수 없고 login2
에서만 연결할 수 있습니다 login1
.
내 컴퓨터 에서 파일을 전송하려면 먼저 내 컴퓨터에서 파일을 전송한 다음 내 컴퓨터에서 login2
전송해야 합니다 . 문제는 1GB보다 큰 파일을 포함할 수 없으므로( 가능한 경우) 병목 현상이 발생한다는 것입니다.login2
login1
login1
login1
login2
login1
내 질문은 내 컴퓨터와 컴퓨터 사이에 일종의 매체를 계속 사용하면서 login2
1GB보다 큰 파일을 전송할 수 있는 방법이 있습니까?입니다 .
감사해요.
답변1
여러분이 놓치고 있는 주요 유행어는 "점프 호스트"입니다. 왜냐하면 그것이 여러분의 로그인이기 때문입니다. 즉, 계속 액세스할 수 있는 곳을 제어하기 위해 아무 것도 하지 말아야 하는 작은 게이트웨이이기 때문입니다.
충분히 새로운 것이므로 ssh
할 수 있어야합니다.
scp -o [email protected] [email protected]:/pth/to/file /pth/to/dest
이전 SSH 클라이언트에서는 다음과 같습니다.
scp -o proxycommand=“ssh [email protected] -W %h:%p” [email protected]:/pth/to/src /pth/to/tg
두 경우 모두 연결이 login1
열리고 login2
. (이를 위해서는 컴퓨터에서 프록시 전달 또는 비밀번호 인증을 사용해야 할 수도 있습니다 login2
. 즉, 컴퓨터에 개인 키가 없는 경우입니다 login1
.)
두 경우 모두 작동하는지 확인한 후 ~/.ssh/config
다음과 같이 옵션을 위치에 붙여넣을 수 있습니다.
host login2.de
ProxyJump [email protected]
# ProxyCommand ssh [email protected] -W %h:%p
그러면 SSH 연결은 명령줄에 명시적으로 표시 login2
하지 않고도 항상 점프 호스트를 사용합니다 .-o proxy...
답변2
로컬 서버를 통해 서버에 로그인 login1.de
하고 다음 작업을 수행합니다.ssh
scp -3 [email protected]:/file user@mylocal:/path/to/transfer
그러면 scp
server2에서 server1을 거쳐 로컬 서버로 트래픽이 라우팅됩니다.