SSH를 통해 한 터미널에서 다른 터미널로 프록시 연결

SSH를 통해 한 터미널에서 다른 터미널로 프록시 연결

HTTP/SOCKS가 가능한 개인 프록시가 있고 웹 호스팅을 위해 Linode 서버를 임대합니다.

putty와 같은 프로그램을 사용하여 SSH를 통해 웹 서버에 연결하고 실행하면 who현재 세션과 프록시의 IP가 표시됩니다(Putty를 사용하여 프록시를 설정했기 때문에).

그러나 집에 있는 컴퓨터(Kali 실행)에서 SSH를 통해 웹 서버에 연결하면 집 IP로 표시됩니다.

기본적으로 내가 묻는 것은 집에 있는 Linux 상자에서 SSH를 사용하여 프록시를 통해 SSH를 수행하도록 하는 방법입니다. ProxyCommand에 대해 알고 있지만 제대로 작동하지 못하는 것 같습니다.

답변1

나는 이 문제를 스스로 해결할 수 있었고 약간의 시간과 노력이 필요했기 때문에 나중에 누군가의 시간을 절약할 수 있기를 바라며 여기에 내 솔루션을 게시하고 있습니다.

ssh -o ProxyCommand="nc -X connect -x '<proxy ip>:<proxy port>' %h %p" root@<remote ip>

이것은 프록시를 통해 SSH를 통해 내 서버에 연결하기 위해 지금 사용하는 명령입니다. 동일한 명령을 사용하려면 다음을 실행해야 할 수도 있습니다. apt-get install netcat-openbsd표준 설치 버전에는 이 매개변수가 포함되어 있지 않으므로 -X 매개변수를 사용하여 NC를 실행해야 합니다.

프록시에 인증이 포함되거나 필요한 경우 -P 옵션을 사용하여 nc로 사용자 이름을 제공할 수 있습니다. 연결을 시도할 때 비밀번호를 묻는 메시지가 표시됩니다. 이 부분을 작동시킬 수는 없지만 내 비밀번호를 받아들이지 않는 것 같습니다. 인증 없이 내 IP로부터의 모든 연결을 허용하도록 프록시를 설정했습니다.

이것이 미래에 누군가의 시간을 절약해주기를 바랍니다.

관련 정보