Czy istnieje prosty sposób na uzyskanie adresu IP HostName
z konfiguracji ssh w wierszu poleceń? Wiele razy muszę korzystać scp
i chciałbym połączyć się z maszyną, ale pamiętam tylko nazwę hosta.
command-line
ssh
scp
m33lky
źródło
źródło
.ssh/config
i/etc/ssh/ssh_config
. czy istnieje powód, dla którego nie możesz scpować przez aliasy zdefiniowane w konfiguracji?Odpowiedzi:
scp przeczyta twoje
~/.ssh/config
i/etc/ssh/ssh_config
. tak długo, jak scp do / z nazwy jednego z aliasów hosta w konfiguracji ssh, powinno działać.ponieważ wydaje się to być krótka odpowiedź, oto kilka informacji o rzeczach, które możesz zrobić z konfiguracją ssh ...
Oto post, który opisuje niektóre zaawansowane funkcje pliku konfiguracyjnego ssh: http://magazine.redhat.com/2007/11/27/advanced-ssh-configuration-and-tunneling-we-dont-need-no- śmierdzące-oprogramowanie VPN /
Potrzebujesz tunelować ssh / scp przez proxy HTTP? nie ma problemu, po prostu wykonaj kroki opisane tutaj: http://www.mtu.net/~engstrom/ssh-proxy.php
Kolejne użycie opcji ProxyCommand: http://jasonmc.wordpress.com/2008/04/16/ssh-magic/
źródło
Odwzorowanie z
host
argumentu podanego w wierszu poleceń nahostname
wpis ssh_config jest łatwe przy użyciussh
samego siebie.Możesz poprosić go o ocenę i wydrukowanie, czego użyłby do konfiguracji linii poleceń, bez faktycznego łączenia. Następnie wystarczy wyciągnąć to, co zawiera
hostname
(zauważ, że kanonizuje nazwy kluczy konfiguracyjnych, konwertując je na małe litery). Prostym przykładem jest:Jeśli .ssh / config zawiera:
To zostanie wydrukowane
database.example.com
.Aby pingować, możesz oczywiście ocenić wynik i użyć go jako argumentu:
źródło
Nie trzeba tego robić
scp
, ale można użyćssh
śladów debugowania.źródło
Zwykle możesz to zrobić,
host HostName
a otrzymasz adres IP.Jeśli
host
nie jest zainstalowany (powinien być), możesz użyć,nslookup HostName 8.8.8.8
który użyje serwerów Google DNS do wyszukiwania.Aby to zrobić, albo program rozpoznawania nazw komputera musi mieć poprawną konfigurację (w pliku /etc/resolv.conf i być może /etc/nsswitch.conf), albo musisz użyć „w pełni kwalifikowanej nazwy domeny” wraz z hostem, domaiin i „TLD” (.org, .com, .net tego rodzaju sufiks).
źródło
~/.ssh/config
, co rozumiem jako sedno tego pytania.HostName
to dowolny alias, a nie nazwa domeny.użyj fałszywego ProxyCommand ...
źródło