Używam OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
z systemem Mac OS X Snow Leopard. Mam ControlMaster
skonfigurowaną funkcję utrzymywania trwałych połączeń. Mam ~/.ssh/config
następujące:
Host *
ControlPath /ms/%r@%h:%p
ControlMaster auto
ControlPersist 4h
Host *.unfuddle.com
ControlMaster no
Jednak z tego, co widzę - nawet gdy próbuję użyć SSH dla hostów unfuddle.com, połączenie główne jest zawsze tworzone:
[andrey-mbp ~] $ ssh -v [email protected] OpenSSH_5.9p1, OpenSSL 0.9.8r 8 lutego 2011 r debug1: odczyt danych konfiguracyjnych /Users/akhkharu/.ssh/config debug1: /Users/akhkharu/.ssh/config wiersz 1: Stosowanie opcji dla * debug1: /Users/akhkharu/.ssh/config wiersz 6: Stosowanie opcji dla * .unfuddle.com debug1: odczyt danych konfiguracyjnych /usr/local/Cellar/openssh/5.9p1/etc/ssh_config debug1: auto-mux: Próbowanie istniejącego wzorca debug1: Gniazdo sterujące „/ms/[email protected]:22” nie istnieje debug1: Łączenie z droolit.unfuddle.com [174.129.5.196] port 22. debug1: Połączenie ustanowione. debug1: plik tożsamości /Users/akhkharu/.ssh/id_rsa typ 1 debug1: plik tożsamości /Users/akhkharu/.ssh/id_rsa-cert typ -1 debug1: plik tożsamości /Users/akhkharu/.ssh/id_dsa typ 2 debug1: plik tożsamości /Users/akhkharu/.ssh/id_dsa-cert typ -1 debug1: plik tożsamości /Users/akhkharu/.ssh/id_ecdsa typ -1 debug1: plik tożsamości /Users/akhkharu/.ssh/id_ecdsa-cert typ -1 debug1: Zdalny protokół w wersji 2.0, zdalna wersja oprogramowania OpenSSH_5.8 debug1: dopasowanie: OpenSSH_5.8 pat OpenSSH * debug1: Włączanie trybu zgodności dla protokołu 2.0 debug1: ciąg wersji lokalnej SSH-2.0-OpenSSH_5.9 debug1: wysłano SSH2_MSG_KEXINIT debug1: odebrano SSH2_MSG_KEXINIT debug1: kex: server-> client aes128-ctr hmac-md5 brak debug1: kex: client-> server aes128-ctr hmac-md5 brak debug1: wysyłanie SSH2_MSG_KEX_ECDH_INIT debug1: oczekiwanie SSH2_MSG_KEX_ECDH_REPLY debug1: klucz hosta serwera: RSA a6: 74: 33: 36: 95: 31: 6e: a6: d7: 71: 87: b8: 3c: 38: e2: 60 debug1: Host „droolit.unfuddle.com” jest znany i pasuje do klucza hosta RSA. debug1: Znaleziono klucz w /Users/akhkharu/.ssh/known_hosts:390 debug1: ssh_rsa_verify: poprawny podpis debug1: wysłano SSH2_MSG_NEWKEYS debug1: oczekiwanie SSH2_MSG_NEWKEYS debug1: odebrano SSH2_MSG_NEWKEYS debug1: Roaming niedozwolony przez serwer debug1: wysłano SSH2_MSG_SERVICE_REQUEST debug1: otrzymano SSH2_MSG_SERVICE_ACCEPT debug1: Uwierzytelnienia, które można kontynuować: publickey debug1: Następna metoda uwierzytelnienia: publickey debug1: Oferowanie klucza publicznego RSA: /Users/akhkharu/.ssh/id_rsa debug1: Serwer akceptuje klucz: pkalg ssh-rsa blen 277 debug1: Uwierzytelnianie powiodło się (publickey). Uwierzytelniono w witrynie droolit.unfuddle.com ([174.129.5.196]: 22). debug1: konfigurowanie głównego gniazda multipleksu debug1: kanał 0: nowy [/ms/[email protected]:22] debug1: control_persist_detach: proces główny tła debug1: przejście do tła debug1: Wejście do sesji interaktywnej. debug1: połączenie sterowania multipleksowaniem debug1: channel 1: new [mux-control] debug1: kanał 2: nowy [sesja klienta] debug1: Remote: polecenie wymuszone. debug1: Remote: Przekazywanie portów wyłączone. debug1: Zdalne: przekazywanie X11 wyłączone. debug1: Zdalne: przekazywanie agentów wyłączone. debug1: Remote: Przydział Pty wyłączony. debug1: Remote: polecenie wymuszone. debug1: Remote: Przekazywanie portów wyłączone. debug1: Zdalne: przekazywanie X11 wyłączone. debug1: Zdalne: przekazywanie agentów wyłączone. debug1: Remote: Przydział Pty wyłączony. debug1: mux_client_request_session: identyfikator sesji master: 2 Żądanie alokacji PTY nie powiodło się Potrzebujesz SSH_ORIGINAL_COMMAND debug1: client_input_channel_req: kanał 2 typ wyjścia typ odpowiedzi 0 debug1: client_input_channel_req: kanał 2 rtype [email protected] odpowiedź 0 debug1: kanał 2: bezpłatny: sesja klienta, kanały nchannels 3 debug1: kanał 1: wolny: kontrola multipleksera, nchannels 2 Wspólne połączenie z droolit.unfuddle.com zostało zamknięte.
[andrey-mbp ~] $ ll / ms / łącznie 0 srw ------- 1 akhkharu admin 0B 17 lipca 11:55 [email protected]: 22
Dzięki,
Andrey.
Jak opisano w odpowiedzi na moje podobne pytanie dotyczące SuperUser , możesz użyć składni „bang”, aby wykluczyć określone hosty z oryginalnej sekcji
Host *
, takie jak:W mojej sytuacji okazało się, że kolejność
Host
sekcji przy użyciuHost *
wydaje się być nieistotna, ale powyższa metoda zawsze działa.źródło
Dla mnie to działa, kiedy dodatkowo ustawione
ControlPath
donone
wewnątrzhost
zwrotki.Możesz spróbować:
Wtedy sesja kontrolna nie zostanie wygenerowana.
źródło
Host *
sekcję na końcu pliku i zadziałało.