Zapora sieciowa, za którą pracuję, działa na serwerze Microsoft ISA w trybie tylko NTLM. Czy ktoś ma sukces w zdobywaniu klejnotów Ruby do zainstalowania / aktualizacji za pomocą klejnotu Ruby SSPI lub innej metody?
... czy jestem po prostu leniwy?
Uwaga: rubysspi-1.2.4 nie działa.
Działa to również w przypadku „igem”, części projektu IronRuby
alias gem='ruby -rspa `which gem`'
sudo
ma dostęp do zmiennych środowiskowych, dodając-E
przełącznik, np.sudo -E doSomething
Odpowiedzi:
Nie mogłem uruchomić mojej z przełącznika wiersza poleceń, ale mogłem to zrobić, ustawiając moją
HTTP_PROXY
zmienną środowiskową. (Pamiętaj, że sprawa wydaje się być ważna). Mam plik wsadowy, który zawiera taką linię:Ustawiłem cztery zmienne, do których się odwołuję, zanim oczywiście przejdę do tego wiersza. Na przykład, jeśli moja nazwa użytkownika to „wolfbyte”, moje hasło jest „tajne”, a mój serwer proxy nazywa się „pigsy” i działa na porcie 8080:
Możesz być ostrożny, jak sobie z tym poradzić, ponieważ przechowuje twoje hasło w postaci zwykłego tekstu w sesji komputera, ale nie sądzę, że powinno to stanowić zbyt duży problem.
źródło
@
z%40
etcW przypadku systemu operacyjnego Windows skorzystałem z narzędzia Fiddler, aby obejść ten problem.
Uruchom klejnot:
źródło
gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name
tyle było mi potrzebne.sudo gem install jekyll --http-proxy=http://web-proxy.company.com:8080
To całkowicie zadziałało:
źródło
SSL_connect SYSCALL returned=5 errno=0 state=unknown state (https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/jekyll-3.0.0.gemspec.rz)
. To zadziałało dla mniegem install --http-proxy http://127.0.0.1:8580 jekyll
alias geminstall='gem install --http-proxy ${http_proxy}'
aby ułatwić mi życie.Korzystam z cntlm ( http://cntlm.sourceforge.net/ ) w pracy. Konfiguracja jest bardzo podobna do ntlmaps.
Działa świetnie, a także pozwala mi podłączyć moje urządzenie Ubuntu do serwera proxy ISA.
Sprawdź http://cntlm.wiki.sourceforge.net/, aby uzyskać więcej informacji
źródło
Wypróbowałem niektóre z tych rozwiązań i żadne z nich nie działało. W końcu znalazłem rozwiązanie, które działa dla mnie:
za pomocą
-p
parametru, aby przekazać proxy. Używam wersji Gem 1.9.1.źródło
proxy_ip
że jest używany dohttps
połączeń, aby działać! Świetnie: D (wersja klejnotowa 2.0.14)Utwórz plik .gemrc (w / etc / gemrc lub ~ / .gemrc lub na przykład z gem gem w / opt / chef / embedded / etc / gemrc) zawierający:
Więc możesz
gem install
jak zwykle.źródło
--http-proxy
ale nie z.gemrc
plikiem, może pochodzić zsudo
konfiguracji. Musiałem sprawdzić/etc/sudoers
plik, aby dodać:Defaults env_keep = "http_proxy ftp_proxy"
przed:Defaults env_reset
To doskonale rozwiązało mój problem:
Może być konieczne dodanie do niego nazwy użytkownika i hasła:
źródło
Jeśli masz problemy z uwierzytelnieniem przez serwer proxy, ustaw zmienne środowiskowe dokładnie w poniższym formacie:
The
user:password@
Składnia nie wydaje się do pracy i tam są również niektóre źle nazwane zmienne środowiskowe pływających wokół na przepełnienie stosu i różnych postów.Pamiętaj też, że pobranie klejnotów może chwilę potrwać. Na początku myślałem, że to nie działa, ale przy odrobinie cierpliwości zaczęli pobierać zgodnie z oczekiwaniami.
źródło
Wypróbowałem wszystkie powyższe rozwiązania, jednak żadne z nich nie działało. Jeśli korzystasz z systemu Linux / macOS, zdecydowanie zalecam używanie tsocks w tunelu ssh. Aby uruchomić tę konfigurację, potrzebujesz komputera, na którym możesz zalogować się przez ssh, a ponadto zainstalowany jest program o nazwie tsocks.
Chodzi tutaj o stworzenie dynamicznego tunelu za pośrednictwem SSH (proxy socks5). Następnie konfigurujemy tsocks do korzystania z tego tunelu i uruchamiania naszych aplikacji, w tym przypadku:
lub w celu uwzględnienia szyn 3.0:
Bardziej szczegółowy przewodnik można znaleźć pod:
http://blog.byscripts.info/2011/04/bypass-a-proxy-with-ssh-tunnel-and-tsocks-under-ubuntu/
Mimo że napisano dla Ubuntu, procedura powinna mieć zastosowanie do wszystkich maszyn opartych na Uniksie. Alternatywą dla tsocks dla Windows jest FreeCap ( http://www.freecap.ru/eng/ ). Realny klient SSH w systemie Windows nazywa się kitem.
źródło
Jest mnóstwo postów na ten temat i aby pomóc innym zaoszczędzić godziny próbowania różnych rozwiązań, oto końcowy rezultat moich godzin majsterkowania.
Obecnie dostępne są trzy rozwiązania w Internecie: rubysspi apserver cntlm
Rubysspi działa tylko z komputera z systemem Windows, AFAIK, ponieważ opiera się na bibliotece Win32Api. Więc jeśli używasz Windowsa i próbujesz uruchomić proxy, jest to rozwiązanie dla ciebie. Jeśli korzystasz z dystrybucji Linuksa, nie masz szczęścia.
apserver wydaje się martwym projektem. Link wymieniony w postach, które widziałem, prowadzi do strony 404 w sourceforge. Poszukuję „apserver” na sourceforge nic nie zwraca.
Link do sourceforge dla cntlm, który widziałem, przekierowuje na http://cntlm.awk.cz/ , ale to się skończyło. Wyszukiwanie w sourceforge pokazuje ten link, który działa: http://sourceforge.net/projects/cntlm/
Po pobraniu i skonfigurowaniu cntlm udało mi się zainstalować klejnot przez proxy, więc wydaje się, że jest to najlepsze rozwiązanie dla dystrybucji Linuksa.
źródło
Szybka odpowiedź: dodaj konfigurację proxy z parametrem zarówno dla instalacji / aktualizacji
źródło
Obejściem tego problemu jest zainstalowanie http://web.archive.org/web/20060913093359/http://apserver.sourceforge.net:80/ na komputerze lokalnym, skonfigurowanie go i uruchomienie klejnotów za pośrednictwem tego serwera proxy.
PARENT_PROXY
iPARENT_PROXY_PORT
. Wprowadź wartości dla DOMAIN i USER. Pozostaw HASŁO puste (nic po dwukropku) - podczas uruchamiania pojawi się monit.cd aps097; python main.py
gem install—http-proxy http://localhost:5865/ library
źródło
Pracuję za serwerem proxy i właśnie zainstalowałem SASS, pobierając bezpośrednio z http://rubygems.org .
Wtedy pobiegłem
sudo gem install [path/to/downloaded/gem/file]
. Nie mogę powiedzieć, że to zadziała dla wszystkich klejnotów, ale może pomóc niektórym ludziom.źródło
Działa to dla mnie w pudełku Windows:
Mam plik wsadowy z tymi liniami, których używam do ustawiania wartości środowiska, kiedy go potrzebuję.
Sztuką, w moim przypadku, były
HTTPS_PROXY
sety. Bez nich zawsze pojawia się błąd uwierzytelnienia proxy 407.źródło
Jeśli korzystasz z systemu * nix, użyj tego:
a następnie spróbuj:
źródło
rubysspi-1.3.1 pracował dla mnie w systemie Windows 7, korzystając z instrukcji z tej strony:
http://www.stuartellis.eu/articles/installing-ruby/
źródło
Jeśli chcesz korzystać z proxy SOCKS5, możesz spróbować rubygems-socksproxy https://github.com/gussan/rubygems-socksproxy .
Działa dla mnie na OSX 10.9.3.
źródło
Jeśli masz serwer proxy, możesz przejść do pobierania Ruby , kliknij Pobierz, co spowoduje pobranie określonej aktualizacji (lub klejnotu) do wybranej lokalizacji.
Następnie za pomocą wiersza polecenia Ruby przejdź do pobranej lokalizacji, używając:
pushd [directory]
np .:
pushd D:\Setups
następnie uruchom następujące polecenie:
gem install [update name] --local
np
gem install rubygems-update --local
. :Testowane w systemie Windows 7 z aktualizacją Ruby w wersji 2.4.1.
Aby to sprawdzić, użyj następującego polecenia:
ruby -v
źródło
Zamiast edytować pliki wsadowe (które możesz zrobić dla innych klejnotów Ruby, np. Bundlera), prawdopodobnie lepiej to zrobić raz i zrobić to poprawnie.
W systemie Windows, za moim korporacyjnym proxy, wszystko, co musiałem zrobić, to dodać
HTTP_PROXY
zmienną środowiskową do mojego systemu.HTTP_PROXY
” i ustaw wartość na serwerze proxyW zależności od wymagań uwierzytelnienia
HTTP_PROXY
wartość może być tak prosta, jak:Lub bardziej skomplikowane, jak zauważyli inni
źródło
dla każdego tunelującego za pomocą SSH; możesz utworzyć wersję
gem
polecenia korzystającego z serwera proxy SOCKS:socksify
pomocągem install socksify
(musisz być w stanie wykonać ten krok przynajmniej bez proxy)Skopiuj swój istniejący klejnot exe
Otwórz go w swoim ulubionym edytorze i dodaj to u góry (po shebang)
Skonfiguruj swój tunel
Uruchom polecenie gem z proxy_gem
źródło