.ssh/config의 scp -l Bandwidth_cap과 동일합니까?

.ssh/config의 scp -l Bandwidth_cap과 동일합니까?

약어:

scp스위치에서 사용하는 대역폭을 제한할 수 있으며 -l킬로비트/초 단위로 숫자를 전달할 수 있습니다.

차라리 특정 명명된 컴퓨터에 대해 내 파일에 설정하고 싶습니다 .ssh/config.

에 해당하는 명명된 설정은 무엇입니까 -l? 나는 그것을 찾을 수 없었다.

후속 질문:

일반적으로 ssh 명령줄 옵션과 구성 이름 사이를 앞뒤로 매핑하는 방법을 알 수 없으며 Google 검색을 수행하거나 사례별로 매뉴얼 페이지를 수동으로 비교할 수 있는 기능이 부족합니다. 이 둘을 직접적으로 동일시하는 표가 있나요?

맥락이 포함된 첫 번째 질문의 긴 형식:

저는 SSH 구성을 많이 사용하기 시작했습니다. 특히 이제는 프록시를 거쳐 많은 포트 매핑을 수행해야 하기 때문입니다. 필요한 터널 유형에 따라 동일한 시스템을 여러 번 정의하기도 했습니다.

하지만 대용량 파일을 업로드할 때 내 컴퓨터에서는 다른 작업을 수행하기가 어렵습니다. 업링크 대역폭보다 다운로드 대역폭이 더 많음에도 불구하고 이로 인해 scp링크가 포화되어 작은 요청도 인터넷에 도달하지 못하는 것 같습니다.

-l대역폭 명령줄 스위치를 사용하는 솔루션이 있습니다 scp.

scp -l 1000 bigfile.zip titan:

내 구성에서 이것을 사용하고 싶기 때문에 "titan-upload"라는 이름의 추가 항목을 만들고 업로드할 때마다 이를 대상으로 사용하겠습니다.

그래서 대신:

scp bigfile.zip titan:

내가 말할 것:

scp bigfile.zip titan-upload:

또는 내 위치에 따라 다른 한도를 설정할 수도 있습니다.

scp bigfile.zip titan-upload-from-work:
  vs.
scp bigfile.zip titan-upload-from-home:

저는 주로 Mac과 Linux를 사용합니다.

답변1

아쉽게도 앞서 언급했듯이 대역폭을 제한하는 구성 옵션이 없는 것 같습니다. (소스코드를 확인했어요!)

가능한 해결책은 scp의 별칭을 사용하거나 함수를 사용하는 것입니다. Bash는 일반적으로 Mac 및 Linux의 기본 셸이므로 다음과 같이 작동합니다.

alias scp='scp -l 1000 '
     -or-
alias scp-throttle='scp -l 1000 '

(따옴표 안의 후행 공백에 유의하세요! 1 ) 결과는 다음과 같습니다.모든scp 명령은 대역폭을 제한하는 데 사용됩니다. 귀하의 상황을 고려할 때 전체적으로 가장 좋은 솔루션 일 수도 있습니다.

"정상" 전송에는 scp를 사용하고 느린 전송에는 scp-throttle을 사용할 수 있으므로 두 번째 방법이 좋은 선택일 수 있습니다.

또는 조금 더 많은 두뇌 능력이 필요한 기능:

function scp { if [ "$*" =~ "-upload" ]; then command scp -l 1000 "$@"; else command scp  "$@"; fi; }

기본적으로 '-업로드' 인수의 어느 곳에서나 bw 제한을 사용하여 전송을 수행하고, 그렇지 않으면 정상적인 전송이 발생합니다.

이렇게 하면 계속해서 여러 이름/별칭을 사용하여 작업을 나타낼 수 있습니다.

  • scp aaa titan:- 정상적으로 업로드 가능합니다.
  • scp aaa titan-upload:- 돈이 절약될 것이다
  • scp titan:aaa .- 정상
  • scp titan-upload-from-home:aaa .- 스로틀
  • scp a-file-to-upload titan:- 이런, 일부러가 아니라 제한을 걸었습니다!

편집하다:

1 - 별칭 내부의 후행 공백을 사용하면 별칭 명령 후에 별칭을 추가로 확장할 수 있습니다. 매우 도움이 됩니다/유용합니다.Bash Man Page, __ALIASES__ section

관련 정보