포트 22만 허용되는 경우 ssh-tunnel을 통해 apt-get

포트 22만 허용되는 경우 ssh-tunnel을 통해 apt-get

포트 22를 통해서만 외부 세계에 액세스할 수 있는 서버가 있습니다(서버에서 다른 시스템으로 SSH를 사용하는 경우).

apt-get이 서버를 통해 일부 패키지를 설치하고 싶습니다 .

모든 포트에서 인터넷에 액세스할 수 있는 슈퍼 머신에 대한 SSH 터널링을 통해 이를 달성할 수 있습니까?

그렇다면 어떻게 해야 할까요? SSH를 통해 슈퍼 머신에 대한 터널을 시작하면 슈퍼 머신의 SSHD가 포트 22에서 대기하기 때문입니다. 터널에 동일한 포트 22를 재사용할 수 없다고 가정하겠습니다. 그렇죠?

다른 해결책이 있나요?

답변1

sshocks 프록시를 통해 실행해보세요:

echo 'Acquire::socks::proxy "socks://localhost:3128/";' | sudo tee -a /etc/apt/apt.conf
ssh -CND localhost:3128 [email protected]

다른 터미널 세션에서:

sudo apt-get whatever you need

답변2

다른 건 못 구해요답변일하다.

클라이언트 네트워크에 Raspberry Pi가 있는데 포트 80을 차단합니다. 그래서 내 컴퓨터에 polipo(양말/http 프록시)를 설치하고 해당 라즈베리 파이에서 ssh를 통해 연결하고 polipo-proxy에 대한 터널을 만들었습니다.

polipo를 설치하려면(저는 Ubuntu 16.04 시스템에서 사용하고 있습니다):

sudo apt install polipo

이는 127.0.0.8123에서 실행되며 이는 우리의 요구에 충분합니다. 터널을 여는 동안 원격 시스템에 연결합니다.

ssh -R 8123:localhost:8123 myuser@client_maschine02

apt이제 프록시를 사용하도록 알려야 합니다 . 나는 이 명령을 사용하여 이 작업을 수행합니다.

echo 'Acquire::http::proxy "http://localhost:8123";' | sudo tee -a /etc/apt/apt.conf.d/proxy.conf

이제 평소처럼 apt를 사용할 수 있습니다.

관련 정보