сделайте установки программы через ssh, туннелирующий в системе CentOs

У меня есть Машина без доступа к Интернету. У меня есть Машина B с доступом к Интернету.

A & B может соединиться друг с другом через ssh.

Я хотел бы сделать некоторые установки программы на (жемчуг, R пакет и т.д....) из интернет-репозитория с помощью интернет-связи B.

Действительно ли это возможно и и как я мог сделать это?

Спасибо.

3
задан 9 October 2014 в 21:08
3 ответа

Если 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 .

4
ответ дан 3 December 2019 в 04:52

Возможно использование 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 останутся такими же.

4
ответ дан 3 December 2019 в 04:52

Если система A не может получить официальные репозитории, вы можете настроить локальное зеркало в системе B и использовать его в качестве репозитория установки / обновления для всех пакетов.

Подробное руководство для CentOS можно найти в CentOS Wiki

2
ответ дан 3 December 2019 в 04:52

Теги

Похожие вопросы