Назад | Перейти на главную страницу

установить программу через ssh-туннель в системе CentOs

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

A и B могут подключаться друг к другу через ssh.

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

Возможно ли это и как я могу это сделать?

Спасибо.

Возможно использование 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 оба используют OpenSSH, затем в одном окне на хосте A делать:

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-прокси, и не смогут с ним связываться.

Другой вариант (возможно, более простой) - просто загрузить все на хост B, затем используйте scp или sftp передать файлы на A.

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

Подробное описание CentOS можно найти в CentOS вики