Komut satırında ~ / .ssh / config sorgusu yapılabilir mi? Diyelim ki, belirli bir takma ad, ayrı bir programda hangi IP adresini gösteriyor?
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:
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/config
devamlı olarak biçimlendirilmiş:
awk '/Host $youralias/ {getline; print $2}' .ssh/config
Bunu sadece awk
bunu 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.
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 mainserver
istiyorsanı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 mainserver
ve 192.168.0.20'ye ping atmak olurdu.
Bu alınmasıyla biraz daha sağlam yoludur HostName
dayalı Host
içinde .ssh/config
dosyanın.
sshalias()
{
awk "\$1==\"Host\" {host=\$2} \$1==\"HostName\" && host==\"$1\" {print \$2}" "$HOME/.ssh/config"
}
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
).