İlk maçta ssh yapılandırmasını durdur


18

Benim .ssh yapılandırma tüm ana bilgisayarlarım için bir yerel proxy ekledim, ancak proxy komutu olmadan yerel vm içine kabuk istiyorum. Ssh denememin çıktısı:

debug1: /Users/bbarbour/.ssh/config line 1: Applying options for local.dev
debug1: /Users/bbarbour/.ssh/config line 65: Applying options for *

Aşağıdaki ssh yapılandırma göz önüne alındığında, ProxyCommand'ın local.dev girdisine uygulanmasını nasıl önleyebilirim?

Host local.dev
    HostName dev.myserver.com
    User developer
...
Host *
    ProxyCommand /usr/local/bin/corkscrew 127.0.0.1 8840 %h %p

Yanıtlar:


22

Daha !önce kullanarak local.dev dosyasını ProxyCommand öğesinden hariç tutabilirsiniz :

Host * !local.dev
    ProxyCommand /usr/local/bin/corkscrew 127.0.0.1 8840 %h %p

Gönderen ssh_config belgeler:

Birden fazla desen sağlanırsa, boşlukla ayrılmalıdır.

Örüntü girişi bir ünlem işaretiyle (`!!) Ön ek eklenerek reddedilebilir. . Reddedilen bir giriş eşleştirilirse, satırdaki diğer kalıpların eşleşip eşleşmediğine bakılmaksızın Host girişi yok sayılır. Negatif eşleşmeler bu nedenle joker karakter eşleşmeleri için istisnalar sağlamak için yararlıdır.

Belgeler ayrıca şunları söyledi:

Her parametre için ilk elde edilen değer kullanılacaktır . Yapılandırma dosyaları `` Ana Bilgisayar '' spesifikasyonlarıyla ayrılmış bölümler içerir ve bu bölüm yalnızca spesifikasyonda verilen kalıplardan biriyle eşleşen ana bilgisayarlar için uygulanır. Eşleşen ana bilgisayar adı, komut satırında verilen addır.

Bu nedenle, tanımladığınız değeri geçersiz kılarak local.dev için ProxyCommand öğesini devre dışı bırakabilirsiniz Host *:

Host local.dev
    HostName dev.myserver.com
    User developer
    ProxyCommand none

8

Yapılandırma dosyasındaki bir seçenek ilk kez eşleştiğinde uygulanır. Ana bilgisayar girdisinde ProxyCommand bulunmadığından, girişinizdeki ProxyCommand *kullanılamaz.

Bu sorunu aşmanın iki yolu vardır:

  • Proxy komutunu kullanmak istemediğiniz ana bilgisayarlar için, satırı ekleyin
    ProxyCommand hiçbiri
  • İçin *girişi, not girişi ana bilgisayara uygulanmaması gerektiğini özellikle bu local.deva ile olumsuzlaştırılmasıyla!
    Host! Local.dev *

birden fazla ana bilgisayarı ayırmak için boşluk kullanın. virgül (,) benim için çalışmadı. Distribütör ID: Ubuntu Açıklama: Ubuntu 17.10 Sürüm: 17.10 Kod adı: artful
Aruna

Teşekkürler @ArunaFromLK - Bunu özlediğime ve 3,5 yıl içinde başka hiç kimsenin görmediğine inanamıyorum! Cevabı şimdi güncelledim.
Jenny D
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.