1

Я получил серверную коробку Ubuntu в тюрьму за VPN. Шлюз каким-то образом исправляет сертификаты, поэтому все мои соединения https отображаются как "сбойные"

$ curl https://www.google.com
curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: http://curl.haxx.se/docs/sslcerts.html

Мои CA-сертификаты обновлены. Это не проблема.

Мне нужно настроить временный прокси, который может обрабатывать https для обновления коробки.

Я попытался сделать ssh -D 8080 user@my_home_pc для туннелирования. Netstat сообщает об открытии порта:

$ netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN <---
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

APT использует переменную среды https_proxy . Опция Sudo -E сохраняет переменные env.

$ https_proxy=https://localhost:8080 sudo -E apt-get update
Ign https://get.docker.com docker InRelease
Ign https://get.docker.com docker Release.gpg
Ign https://get.docker.com docker Release
Ign https://get.docker.com docker/main i386 Packages/DiffIndex
Ign https://get.docker.com docker/main Translation-en
Err https://get.docker.com docker/main i386 Packages  <----
  Proxy CONNECT aborted                               <----

Что бы вы сделали, чтобы настроить прокси, туннелируемый ssh? Учтите, что я могу ТОЛЬКО выйти на улицу по ssh (кроме неиспользуемого шлюза). СПАСИБО.

Изменить: AllowTcpForwarding установлен на да на моем домашнем ПК

# /etc/ssh/sshd_config
AllowTcpForwarding yes

1 ответ1

1

ЭТОТ ОТВЕТ НЕ СЧИТАЕТСЯ, ЧТОБЫ ОТВЕТИТЬ, НО ВРЕМЯ.

Не окончательный, но обходной путь.

В этом случае недоступный сайт - https://get.docker.com.

Подход:

  1. Поддельный IP-адрес get.docker.com
  2. Туннель SSH и свяжите порт с get.docker.com снаружи.

Процедура:

  1. Добавьте get.docker.com в /etc /hosts

    cat "127.0.0.1  get.docker.com" >> /etc/hosts
    
  2. SSH выходит в клетку без клетки и вперед. Это должно быть сделано с помощью sudo, так как мы будем перенаправлять порт ниже 1024.

    sudo ssh -L 443:get.docker.com:443 user@myhomepc
    
  3. На другом терминале установите все как обычно.

О, и не забудьте стереть добавленную строку в /etc /hosts, когда закончите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .