로컬 머신 M이 있고 이를 인터넷에 노출하고 싶지만 포트 전달을 사용할 수 없습니다. 내 vps S를 프록시로 사용하여 M의 포트 22를 인터넷에 열고 싶습니다. SSH 액세스에 이 포트를 사용하고 싶으므로 솔루션은 모든 TCP 트래픽을 허용해야 합니다.http 뿐만 아니라, 여기에 묻는 다른 질문도 많습니다. ssh -f -N -R 9000:localhost:22 example.com
M에서 사용해 보았습니다 . 여기서 localhost
M은 example.com이 S를 가리키는 도메인 이름입니다. 이를 통해 시스템 S는 S:9000을 통해 M에 액세스할 수 있지만 인터넷의 어떤 시스템도 내가 원하는 example.com:9000을 통해 M에 액세스하는 것을 허용하지 않습니다. (머신이 연결된 포트는 반드시 S가 M에 연결할 수 있는 포트와 동일할 필요는 없습니다.) nginx tcp 리버스 프록시를 사용해 보았지만 작동하지 않는 것 같습니다.
몇 가지 참고사항:
전달 자체는 SSH를 사용하여 수행할 필요가 없으며 약간 느린 것으로 알고 있습니다.
오랫동안 실행 상태로 둘 계획입니다(이것이 보안 위험이 될 수 있다는 것을 알고 있습니다).
그렇다면 M은 Arch Linux를 실행하고 S는 Debian 10 Buster를 실행합니다.
답변1
가능한 문제는 S의 sshd 구성입니다.
/etc/ssh/sshd_config
가지고 있는지 확인해야 합니다 .
GatewayPorts yes
모든 호스트로부터의 연결을 허용합니다. 이 값을 변경한 후 SSH를 다시 시작해야 합니다.
sudo systemctl restart ssh