미국에 서버(Linux 박스 B)가 있고 집에 있는 컴퓨터(Linux 박스 A)가 있는데 웹사이트 C에서 파일을 다운로드해야 합니다.
문제는 A에서 직접 파일을 다운로드하는 것이 너무 느리기 때문에 B에 로그인한 상태에서 파일을 다운로드한 후 sftp
A에서 파일을 가져와야 한다는 점입니다.
파일을 직접 다운로드하고 단 한 줄의 명령만으로 B를 프록시로 사용할 수 있는 방법이 있습니까?
답변1
(이상한 상황이 아닌데,삼각형 부등식인터넷 라우팅을 보존하시겠습니까? )
어쨌든 다음을 시도해 보세요.ㅏ, ssh
입력하다두번째-D
주장이 있는데 ,
ssh -D 1080 address-of-B
이는 인터넷에서 SOCKS5 프록시 역할을 하며 127.0.0.1:1080
SOCKS5 프록시 연결을 지원하는 모든 장치에서 이를 사용할 수 있습니다. 분명히 wget
이것은 할 수 있습니다, 환경 변수를 사용하여
export SOCKS_SERVER=127.0.0.1:1080
wget http://server-C/whatever
때로는 curl
이것이 더 편리하다는 점에 유의하십시오(예: SOCKS5를 통해 호스트 이름 조회가 가능한지 확실하지 않지만 wget
이는 귀하의 관심사 중 하나가 아닙니다). Firefox는 이러한 SOCKS5 프록시를 통해 완벽하게 작동할 수도 있습니다.
편집하다방금 당신이 찾고 있는 걸 알아차렸어요한 줄해결책. 글쎄, 어때?
ssh address-of-B 'wget -O - http://server-C/whatever' >> whatever
즉, wget
가져온 출력을 로 리디렉션 stdout
하고 로컬 출력(원격 ssh
실행 에서 wget
)을 파일로 리디렉션합니다.
이것은 작동하는 것 같습니다. wget
출력은 약간 혼란스럽습니다("-에 저장-q
"), 통화에 추가하여 제거할 수 있습니다 wget
.
답변2
또 다른 접근 방식은 평소와 같이 로그인하여 세션을 B
시작하는 것입니다 . 여기에서 모든 파일을 디렉토리에 넣을 screen
수 있습니다 .wget
이 시점에서 프로그램은 원활하게 실행됩니다. 화면에서 분리하고 백그라운드에서 실행되도록 놔두기만 하면 됩니다.
다운로드가 완료되면(아마도 더 일찍) 데이터를 가져올 B
수 있습니다 (제가 선호하는 방식).A
rsync
답변3
에서 영감을 받다또 다른 질문에 대한 또 다른 대답, 다음을 사용하는 것이 좋습니다.프록시 체인-ng(이것은 최신 버전입니다.프록시 체인).
- 다운로드, 컴파일 및 선택적으로 설치프록시 체인-ng.
proxychains.conf
현재 디렉터리나 또는 에~/.proxychains/proxychains.conf
파일을 만듭니다/etc/proxychains.conf
.- 또는 다른 위치나 다른 이름으로 파일을 만들고
-f
명령줄 인수나PROXYCHAINS_CONF_FILE
환경 변수를 통해 지정합니다. - 하나 있다샘플 구성 파일쓸 수 있는. 가장 관련성이 높은 옵션은 끝에 있습니다.
- 또는 다른 위치나 다른 이름으로 파일을 만들고
파일 에
proxychains.conf
다음을 추가하세요.[ProxyList] socks5 127.0.0.1 1234
달리기
ssh -D 1234 your_host_b
. 이렇게 하면 ssh가 로컬 호스트의 포트 1234에서 수신 대기하고 원격 호스트를 SOCKS 프록시로 사용하게 됩니다.- 또는 대신 실행하세요
ssh -ND 1234 your_host_b
.-N
ssh가 원격 서버에서 어떤 명령도 실행하지 못하게 합니다(즉, 셸을 열지 않습니다).
- 또는 대신 실행하세요
- 달리기:
proxychains4 yourcommandhere yourparametershere
. 몇 가지 예를 살펴보세요:proxychains4 wget -O - http://ifconfig.co/
proxychains4 -q links http://ifconfig.co/
답변4
Box A에서 Box B로 SSH 터널을 설정하고 이를 Box A의 라우팅 테이블에 추가하면 Box B로의 터널을 통해 웹사이트 C에 접속할 수 있습니다. Box B에서 패킷이 전달되도록 허용해야 합니다.
여기아주 좋은 단계별 튜토리얼을 볼 수 있습니다.