OpenSSH verilen ana bilgisayar adı için ControlMaster'ı devre dışı bıraktı


20

Ben kullanıyorum OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011, Mac OS X Snow Leopard ile. ControlMasterKalıcı bağlantıları korumak için yapılandırılmış bir özelliğim var . Benim ~/.ssh/configaşağıdakiler var:

Host *
  ControlPath /ms/%r@%h:%p
  ControlMaster auto
  ControlPersist 4h

Host *.unfuddle.com
  ControlMaster no

Ancak, gördüğüm - unfuddle.com ana bilgisayarlar için SSH kullanmaya çalıştığımda bile, ana bağlantı her zaman oluşturulur:

[andrey-mbp ~] $ ssh -v git@droolit.unfuddle.com
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Şub 2011
debug1: Yapılandırma verilerini okuma /Users/akhkharu/.ssh/config
debug1: /Users/akhkharu/.ssh/config line 1: * için seçenekler uygulanıyor
debug1: /Users/akhkharu/.ssh/config line 6: * .unfuddle.com için seçenekler uygulama
debug1: Yapılandırma verilerini okuma /usr/local/Cellar/openssh/5.9p1/etc/ssh_config
debug1: auto-mux: Mevcut master deneniyor
debug1: "/ms/git@droolit.unfuddle.com:22" kontrol soketi mevcut değil
debug1: droolit.unfuddle.com [174.129.5.196] bağlantı noktasına 22 bağlanıyor.
debug1: Bağlantı kuruldu.
debug1: kimlik dosyası /Users/akhkharu/.ssh/id_rsa tip 1
debug1: kimlik dosyası /Users/akhkharu/.ssh/id_rsa-cert type -1
debug1: kimlik dosyası /Users/akhkharu/.ssh/id_dsa tip 2
debug1: kimlik dosyası /Users/akhkharu/.ssh/id_dsa-cert type -1
debug1: kimlik dosyası /Users/akhkharu/.ssh/id_ecdsa tip -1
debug1: kimlik dosyası /Users/akhkharu/.ssh/id_ecdsa-cert type -1
debug1: Uzak protokol sürüm 2.0, uzak yazılım sürümü OpenSSH_5.8
debug1: match: OpenSSH_5.8 pat OpenSSH *
debug1: Protokol 2.0 için uyumluluk modunu etkinleştirme
debug1: Yerel sürüm dizesi SSH-2.0-OpenSSH_5.9
hata ayıklama1: SSH2_MSG_KEXINIT gönderildi
hata ayıklama1: SSH2_MSG_KEXINIT alındı
debug1: kex: server-> istemci aes128-ctr hmac-md5 hiçbiri
debug1: kex: client-> sunucu aes128-ctr hmac-md5 hiçbiri
debug1: SSH2_MSG_KEX_ECDH_INIT gönderiliyor
debug1: SSH2_MSG_KEX_ECDH_REPLY bekleniyor
debug1: Sunucu ana bilgisayar anahtarı: RSA a6: 74: 33: 36: 95: 31: 6e: a6: d7: 71: 87: b8: 3c: 38: e2: 60
debug1: 'droolit.unfuddle.com' ana bilgisayarı biliniyor ve RSA ana bilgisayar anahtarıyla eşleşiyor.
debug1: /Users/akhkharu/.ssh/known_hosts:390 içinde anahtar bulundu
debug1: ssh_rsa_verify: imza doğru
debug1: SSH2_MSG_NEWKEYS gönderildi
debug1: SSH2_MSG_NEWKEYS bekleniyor
debug1: SSH2_MSG_NEWKEYS alındı
debug1: Sunucu tarafından dolaşıma izin verilmiyor
hata ayıklama1: SSH2_MSG_SERVICE_REQUEST gönderildi
hata ayıklama1: SSH2_MSG_SERVICE_ACCEPT alındı
debug1: Devam edebilecek kimlik doğrulama: publickey
debug1: Sonraki kimlik doğrulama yöntemi: publickey
debug1: RSA genel anahtarını sunuyor: /Users/akhkharu/.ssh/id_rsa
debug1: Sunucu anahtarı kabul ediyor: pkalg ssh-rsa blen 277
debug1: Kimlik doğrulama başarılı (publickey).
Droolit.unfuddle.com için doğrulanmıştır ([174.129.5.196]: 22).
debug1: multipleks ana soketin ayarlanması
debug1: kanal 0: yeni [/ms/git@droolit.unfuddle.com:22]
debug1: control_persist_detach: arka plan ana işlemi
debug1: arka plana çatallama
debug1: Etkileşimli oturuma girme.
debug1: çoğullama kontrol bağlantısı
debug1: kanal 1: yeni [mux-control]
debug1: kanal 2: yeni [istemci oturumu]
debug1: Uzak: Zorunlu komut.
debug1: Uzak: Bağlantı noktası iletme devre dışı.
debug1: Uzak: X11 iletme devre dışı.
debug1: Uzak: Aracı iletimi devre dışı.
debug1: Uzak: Pty ayırma devre dışı.
debug1: Uzak: Zorunlu komut.
debug1: Uzak: Bağlantı noktası iletme devre dışı.
debug1: Uzak: X11 iletme devre dışı.
debug1: Uzak: Aracı iletimi devre dışı.
debug1: Uzak: Pty ayırma devre dışı.
debug1: mux_client_request_session: ana oturum kimliği: 2
PTY ayırma isteği başarısız oldu
SSH_ORIGINAL_COMMAND gerekir
debug1: client_input_channel_req: kanal 2 rtype çıkış durumu yanıtı 0
debug1: client_input_channel_req: kanal 2 rtype eow@openssh.com cevap 0
debug1: kanal 2: ücretsiz: istemci oturumu, kanallar 3
debug1: kanal 1: ücretsiz: mux-kontrol, kanallar 2
Droolit.unfuddle.com ile paylaşılan bağlantı kapatıldı.
[andrey-mbp ~] $ ll / ms /
toplam 0
srw ------- 1 akhkharu admin 0B Tem 17 11:55 git@droolit.unfuddle.com: 22

Teşekkürler
Andrey.

Yanıtlar:


19

Sizin *ev sahibi dörtlük bunu yakalıyor. Daha belirgin ana bilgisayar stanzları koyun.


Teşekkürler, ama bu benim için işe yaramaz. Tüm ana bilgisayarlar için ControlMaster'ı etkinleştirmem gerekiyor, ancak unfuddle.com için değil. Yapılandırma dosyasında kullandığım tüm ana bilgisayarları listeleyemiyorum. Çalışmakta olan şey, unfuddle.com kuralını en başa yerleştirmektir.
Andrey Chernih

8
Yani ... daha spesifik host stanza'yý daha erken mi koydun?
Ignacio Vazquez-Abrams

Evet, garip, ama işe yarıyor.
Andrey Chernih

Manajları uzun zamandır araştırıyordum, ama garip bir öncelikli şey!
JanKanis

1
Korkarım, Andrey bu cevabın doğru olduğu gerçeğini yakaladığında ve yorumun kabul ettiğine işaret edip etmediğini ölen günüme kadar merak edeceğim.
vastlysuperiorman

10

SuperUser'daki benzer sorumun cevabında açıklandığı gibi, belirli ana bilgisayarları orijinal Host *stanzadan hariç tutmak için "bang" sözdizimini kullanabilirsiniz :

Host * !*.unfuddle.com
    ControlPath /ms/%r@%h:%p
    ControlMaster auto
    ControlPersist 4h

Benim durumumda, Hostkullanırken bölümlerin sırasının Host *alakasız görünüyordu, ancak yukarıdaki yöntem her zaman işe yaradı.


5

Ben ayrıca ayarladığınızda Benim için çalıştığını ControlPathetmek noneiçinde hostdörtlük.

Deneyebilirsin:

Host *.unfuddle.com   
    ControlMaster no
    ControlPath none

Daha sonra hiçbir kontrol oturumu oluşturulmaz.


Benim durumumda bunu yapmak zorunda kaldım ve Host *bölümü dosyanın sonuna koydu ve işe yaradı.
a3nm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.