У меня есть Машина без доступа к Интернету. У меня есть Машина B с доступом к Интернету.
A & B может соединиться друг с другом через ssh.
Я хотел бы сделать некоторые установки программы на (жемчуг, R пакет и т.д....) из интернет-репозитория с помощью интернет-связи B.
Действительно ли это возможно и и как я мог сделать это?
Спасибо.
Если A
и B
оба используют OpenSSH, то в одном окне на хосте A
do:
ssh -D 1080 user@B
для запуска прокси-сервера SOCKS, который прослушивает A: 1080
и отправляет соединения на запрошенный адрес через B
.
Пока это соединение установлено, вы можете запустить другие программы, которые поддерживают прокси SOCKSv4 или SOCKSv5 (это отличается от прокси HTTP) на A
:
curl -x socks5h://localhost:1080 http://www.google.com/
Вы можете попробовать установить http_proxy
переменная среды в socks5h: // localhost: 1080
, но большинство программ, вероятно, будут ожидать, что это будет реальный http-прокси, и не смогут с ним связываться.
Другой вариант (возможно, проще) это jus t, чтобы загрузить все на хост B
, затем используйте scp
или sftp
, чтобы передать файлы на A
.
Возможно использование SSH-туннелирования:
На вашем домашнем сервере:
ssh -R 9999:<proxy host>:<proxy port> user@remotehost
Это откроет порт 9999 на вашем удаленном сервере и создаст туннель для вашего прокси.
удаленный сервер, вам необходимо отредактировать yum.conf
и добавить следующее:
proxy=http://127.0.0.1:9999
Это будет подключаться к прокси-серверу с использованием туннеля, который мы настроили ранее.
Если у вас нет прокси-сервера на месте , вы можете использовать динамическое туннелирование. Это работает только в том случае, если в вашей сети нет прокси-сервера или если в ней используется прозрачный прокси.
На удаленном сервере:
ssh -D 9999 user@ip-of-local-server
Это подключится к вашему локальному серверу, откроет порт 9999 и создаст динамический туннель. . Изменения yum.conf
останутся такими же.
Если система A не может получить официальные репозитории, вы можете настроить локальное зеркало в системе B и использовать его в качестве репозитория установки / обновления для всех пакетов.
Подробное руководство для CentOS можно найти в CentOS Wiki