기존 SSH 체인을 통해 SCP를 사용하시나요? 가능한?

기존 SSH 체인을 통해 SCP를 사용하시나요? 가능한?

SCP는 파일을 복사할 때 새로운 연결을 설정하는데, 방화벽이 관련되어 있으면 연결이 어려울 수 있습니다.

예를 들어,

호스트-A <--> 호스트-B <--> 호스트-C <--> 호스트-D

  • Host-A는 SSH를 통해 Host-B에 연결되고, Host-B는 SSH를 통해 Host-C에 연결된 다음 Host-D에 연결됩니다.
  • Host-A는 Host-B 이외의 다른 컴퓨터에 연결할 수 없고, Host-B는 Host-A와 Host-C에만 연결할 수 있으며, Host-C는 Host-B와 Host-D에만 연결할 수 있으며, 마지막 Host-D는 Host-C에만 연결하세요.

명령(Host-D에서)scp /home/user/file 호스트-A:/home/user/newfile둘 사이에 새로운 SSH 터널을 만들려고 시도할 것인데, 이는 내가 원하는 것이 아닙니다. 기존 SSH 터널 체인이 파일이 Host-A에 도달할 때까지 이전 호스트를 통해 다시 복사하기를 원합니다.

어떻게 해야 하나요?

답변1

기존 연결을 다시 사용할 수 있습니다. 명령줄 스위치 -M또는 (클라이언트) 구성 옵션을 사용하십시오 ControlMaster. 보다이 답변자세한 내용은 StackOverflow에서 확인하세요.

나는 이것을 광범위하게 사용했는데, ControlPersist지연 후에만 연결을 닫기 위해 to 와 결합되었습니다. 이렇게 하면 발생하는 연결 시간을 피하고 여러 번 닫았다가 다시 연결할 때 성능이 크게 향상됩니다(대화식 사용 중에 자주 하는 것처럼).

예를 들어 GitHub와 같은 일부 호스트에 연결하는 데는 제대로 작동하지 않으므로 이 옵션을 기본값으로 설정한 경우 이 옵션을 사용하지 않도록 특정 호스트를 명시적으로 제외해야 할 수도 있습니다.

관련 정보