OpenSSH - ~ / .ssh / config içindeki diğer adları komut satırındaki IP adresleriyle eşle


9

Komut satırında ~ / .ssh / config sorgusu yapılabilir mi? Diyelim ki, belirli bir takma ad, ayrı bir programda hangi IP adresini gösteriyor?

Yanıtlar:


2

Ben sadece IP adresi, iade yani., 192.168.1.1 istemediğini biliyoruz, o zaman bu komut satırından dosya sorgulama biri (inanılmaz kırılgan) yolu okumak için uygun izinlere sahip İşletmesi vardır ve sizin .ssh/configdevamlı olarak biçimlendirilmiş:

awk '/Host $youralias/ {getline; print $2}' .ssh/config


Bunu sadece awkbunu yapmak için nasıl kullanacağımı anlamak istediğim için gönderiyorum , ancak bilgim açıkçası oldukça sınırlıdır.


1

Ne istediğini tam olarak bilmiyorum ...

'Ana sunucu' için SSH takma adınız olduğunu varsayalım ssh mainserver. Bunun için de çalışmasını ping mainserveristiyorsanız /etc/hosts, aşağıdaki gibi bir takma ad eklemeniz gerekir :

/ Etc / ana:

192.168.0.1 comp-one
192.168.0.2 comp-two

192.168.0.20 mainserver

Sonra yapabilirdiniz ping mainserverve 192.168.0.20'ye ping atmak olurdu.


0

Bu alınmasıyla biraz daha sağlam yoludur HostNamedayalı Hostiçinde .ssh/configdosyanın.

sshalias()
{
    awk "\$1==\"Host\" {host=\$2} \$1==\"HostName\" && host==\"$1\" {print \$2}" "$HOME/.ssh/config"
}

-1

Bahsettiğiniz dosya bir metin dosyasıdır, bağlandığınız makineleri tanımlamak için ana bilgisayar adları ve muhtemelen IP adresleri içerir . Ana bilgisayar adları, host(1)komut kullanılarak IP adreslerine çözümlenebilir . Biçim oldukça basit, bu yüzden orada ne olduğunu bulmak çok zor değil. Dosyada joker karakterlerin kullanılabileceğini unutmayın (mayın durumları *.fedoraproject.org).

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.