Обслуговувати Інтернет на віддаленій машині через сеанс SSH?


19

Машина, за допомогою якої я передаю SSHing на віддалений / хост-апарат (та сама мережа / локальна мережа), має доступ до Інтернету, але хост - ні.

Запуск оновлень та встановлення пакетів на хості стає дуже незручним, оскільки тоді я повинен запустити проксі локально, а потім налаштувати віддалену машину для його використання.

Тож мені було цікаво, чи є простіший спосіб зробити це через, можливо, SSH чи щось інше?

Я усвідомлюю складнощі, які лежать всередині, але мені цікаво було знати.

Використання plinkчерез Emacs (якщо це має значення).

Відповіді:


21

Давайте назвемо машину, яка має доступ до Інтернету, hasinetі ту, яка не має noinet.

Якщо ви можете встановити SSH-з'єднання з noinet до hasinet

Це можна легко зробити за допомогою вбудованого проксі SOCKS OpenSSH. Ця команда встановить проксі-сервер SOCKS для noinetпрослуховування на порту 1080:

noinet$ ssh -D 1080 hasinet

Якщо ви можете встановити з'єднання SSH лише noinet з hasinet

Ви можете запустити проксі-сервер OpenSSH SOCKS hasinetі потім переслати порт від noinetдо hasinet. Це можна спритно зробити за допомогою однієї команди (наприклад, @Patrick):

hasinet$ ssh -D 1080 localhost -t ssh -R 1080:localhost:1080 noinet

Як використовувати проксі-сервер SOCKS

Як ви користуєтеся цим проксі, залежатиме від програми. Деякі програми мають підтримку вбудованих проксі-серверів SOCKS. Якщо це так, вам потрібно буде налаштувати додаток, щоб використовувати проксі-сервер localhost:1080. Якщо ні, ви можете використовувати proxychains або redsocks, як пропонує @sciurus. tsocks - це легше рішення, якщо вам потрібно лише забезпечити доступ до мережі для деяких команд.


1
Замість того, щоб встановлювати проксі-шкарпетку на hasinet, коли noinet потрібно вийти, просто ssh -t -D 1080 localhost ssh -R 1080:localhost:1080 noinet(так, одна команда).
Патрік,

2

Ось як це зробити за допомогою SSH:

На машині без доступу до Інтернету запустіть

ssh -D 8080 machine_with_internet_access

Ви можете замінити 8080 будь-яким невикористаним номером порту,

Потім встановіть таке програмне забезпечення, як проксі-ланцюги або червоні шкарпетки , налаштуйте їх для підключення до localhost: 8080 та запустіть програмне забезпечення, яке потребує доступу до них через Інтернет.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.