SSH를 통해 원격 컴퓨터에 인터넷 서비스를 제공하시겠습니까? [폐쇄]

SSH를 통해 원격 컴퓨터에 인터넷 서비스를 제공하시겠습니까? [폐쇄]

이 질문을 몇 번이나 받았는데 내 설정은 다른 사람들과 다르지 않습니다.

내 컴퓨터는 인터넷이 없는 폐쇄된 네트워크에 있으므로 해당 컴퓨터에 sudo를 실행할 수 있습니다. 하지만 랩톱에서 원격 컴퓨터로 직접 연결할 수 없습니다. Linux를 통해 서버를 점프해야 하는데 점프 서버에 루트 권한이 없습니다. SSH를 통해서만 점프 서버에 연결할 수 있고 SSH를 통해 다시 원격 컴퓨터에 연결할 수 있습니다.

다른 포트를 열 수 없습니다. 모든 업데이트나 소프트웨어 가져오기가 원활하게 이루어지도록 노트북의 인터넷 연결을 원격 컴퓨터와 공유하는 방법.

현재 서버를 점프하기 위해 인터넷에 연결되어 있으면 다음 명령을 사용하여 원격 컴퓨터와 공유할 수 있습니다.

ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET [email protected]

답변1

사용sshuttle, 어느:

가난한 사람의 VPN 역할을 하는 투명한 프록시 서버입니다. SSH를 통해 전달합니다. 관리자가 필요하지 않습니다. Linux 및 MacOS에서 사용 가능합니다. DNS 터널링을 지원합니다.

중간 컴퓨터에 Python이 설치되어 있으면 sshuttleSSH 연결을 통해 모든 트래픽(또는 선택한 트래픽)을 전달하도록 로컬 컴퓨터에 연결하고 자체적으로 전송하고 설정합니다.

또 다른 이점은 TCP에 반대하는 것이 아니라 TCP와 함께 작동하므로 연결을 통해 올바른 성능을 얻을 수 있다는 것입니다. 일반 SSH 터널은 패킷 손실이 없기 때문에 확장성이 떨어지는 경향이 있습니다.

원하는 작업을 수행하기 위해 직접 사용할 수 있습니다.

sudo sshuttle --dns -r user@jump 0/0

그러면 SSH를 통해 user@jump에 연결되고 해당 연결을 통해 모든 트래픽과 모든 DNS 요청이 전달됩니다. 원격 시스템에서는 어떤 설정도 수행할 필요가 없으며 로컬 시스템에 대한 관리 권한만 있으면 됩니다(패킷 필터링 규칙 설정).

sshuttle일부 배포판용으로 패키지되어 있지만 로컬에서 설치가 매우 간단합니다.Git 저장소표준 Python setup.py install프로세스를 사용합니다. 사용한다면 PyPI에도 있습니다.

답변2

Jumpstation이 "-W" 매개변수를 지원 하는 경우 ssh이를 연결할 수 있습니다:

노트북의 경우 ~/.ssh/config:

Host 10.144.108.127
    ProxyCommand ssh -q user@jumpstation -W %h:%p

노트북의 명령줄에서:

ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET [email protected]

또한 랩톱에서 프록시를 실행하고 원격 컴퓨터에서 적절한 프록시 설정을 지정해야 합니다.

Jumpstation ssh가 "-W" 매개변수를 지원하지 않더라도(의심스럽습니다) netcatJumpstation을 호출하거나 /dev/tcp/...쌍을 열면 cat이를 피할 수 있습니다 (bash가 있는 경우).

관련 정보