Gibt es eine einfache Möglichkeit, die IP von a HostName
aus einer SSH-Konfiguration in der Befehlszeile abzurufen ? scp
Oft muss ich einen Computer verwenden und möchte eine Verbindung herstellen, aber ich erinnere mich nur an den Hostnamen.
command-line
ssh
scp
m33lky
quelle
quelle
.ssh/config
und/etc/ssh/ssh_config
. Gibt es einen Grund, warum Sie nicht anhand der in der Konfiguration definierten Aliase scp können?Antworten:
scp liest dein
~/.ssh/config
und/etc/ssh/ssh_config
. Solange Sie zum Namen eines der Host-Aliase in Ihrer SSH-Konfiguration wechseln, sollte dies funktionieren.Da dies eine kurze Antwort zu sein scheint, finden Sie hier einige weitere Informationen zu Dingen, die Sie mit Ihrer SSH-Konfiguration tun können ...
Hier ist ein Beitrag, der einige der erweiterten Funktionen der ssh-Konfigurationsdatei beschreibt: http://magazine.redhat.com/2007/11/27/advanced-ssh-configuration-and-tunneling-we-dont-need-no- stinkende-vpn-software /
Müssen Sie ssh / scp über einen http-Proxy tunneln? Kein Problem, führen Sie einfach die hier beschriebenen Schritte aus: http://www.mtu.net/~engstrom/ssh-proxy.php
Eine andere Verwendung der ProxyCommand-Option: http://jasonmc.wordpress.com/2008/04/16/ssh-magic/
quelle
host
Das Zuordnen von dem in der Befehlszeile angegebenen Argument zumhostname
Eintrag ssh_config ist einfachssh
.Sie können ihn bitten, auszuwerten und auszudrucken, was für die Konfiguration einer Befehlszeile verwendet werden soll, ohne tatsächlich eine Verbindung herzustellen. Dann müssen Sie nur noch herausziehen, wofür es aufgelistet ist
hostname
(Beachten Sie, dass Konfigurationsschlüsselnamen kanonisiert werden, indem sie in Kleinbuchstaben konvertiert werden). Ein einfaches Beispiel ist:Wenn .ssh / config enthält:
Dies wird ausgedruckt
database.example.com
.Um es zu pingen, können Sie natürlich die Ausgabe auswerten und als Argument verwenden:
quelle
Sie müssen dies nicht tun
scp
, aber Sie können diessh
Debugging-Traces verwenden.quelle
Normalerweise können Sie dies tun
host HostName
und Sie erhalten die IP-Adresse.Wenn
host
es nicht installiert ist (sollte es sein), können Sienslookup HostName 8.8.8.8
die Google DNS-Server verwenden, um die Suche durchzuführen.Um dies zu tun, muss entweder der Resolver Ihres Computers eine korrekte Konfiguration haben (in der Datei /etc/resolv.conf und möglicherweise /etc/nsswitch.conf) oder Sie müssen einen "vollständig qualifizierten Domänennamen" mit Host verwenden. domaiin und "TLD" (.org, .com, .net diese Art von Suffix).
quelle
~/.ssh/config
, was meiner Meinung nach der Punkt dieser Frage ist.HostName
ist ein beliebiger Alias, kein Domainname.Verwenden Sie einen gefälschten ProxyCommand ...
quelle