Existe-t-il un moyen simple de récupérer l'IP d'un HostName
dans une configuration ssh sur la ligne de commande? Plusieurs fois, je dois utiliser scp
et je souhaite me connecter à une machine, mais je ne me souviens que du HostName.
command-line
ssh
scp
m33lky
la source
la source
.ssh/config
et/etc/ssh/ssh_config
. y a-t-il une raison pour laquelle vous ne pouvez pas scp par les alias définis dans la configuration?Réponses:
scp lira votre
~/.ssh/config
et/etc/ssh/ssh_config
. tant que vous scp vers / depuis le nom de l'un des alias d'hôte dans votre configuration ssh, cela devrait fonctionner.puisque cela semble un peu court pour être une réponse, voici quelques informations supplémentaires sur les choses que vous pouvez faire avec votre configuration ssh ...
Voici un article qui décrit certaines des fonctionnalités avancées du fichier de configuration ssh: http://magazine.redhat.com/2007/11/27/advanced-ssh-configuration-and-tunneling-we-dont-need-no- logiciel-vpn-puant /
Besoin de tunneler ssh / scp via un proxy http? aucun problème, utilisez simplement les étapes décrites ici: http://www.mtu.net/~engstrom/ssh-proxy.php
Une autre utilisation de l'option ProxyCommand: http://jasonmc.wordpress.com/2008/04/16/ssh-magic/
la source
host
Mapper de l' argument donné sur la ligne de commande à l'hostname
entrée ssh_config est facile à utiliserssh
.Vous pouvez lui demander d'évaluer et d'imprimer ce qu'il utiliserait pour la configuration d'une ligne de commande, sans réellement se connecter. Ensuite, il vous suffit de retirer ce qu'il répertorie
hostname
(notez qu'il canonise les noms des clés de configuration en les convertissant en minuscules). Un exemple simple est:Si .ssh / config contient:
Cela s'imprimera
database.example.com
.Pour le ping, vous pouvez bien sûr évaluer la sortie et l'utiliser comme argument:
la source
Il n'est pas nécessaire de le faire pour
scp
, mais vous pouvez utiliserssh
les traces de débogage de.la source
Habituellement, vous pouvez le faire
host HostName
et vous obtiendrez l'adresse IP.S'il
host
n'est pas installé (il devrait l'être), vous pouvez utiliser celuinslookup HostName 8.8.8.8
qui utilisera les serveurs DNS de Google pour effectuer la recherche.Pour faire ces choses, soit le résolveur de votre machine doit avoir une configuration correcte (dans le fichier /etc/resolv.conf et peut-être /etc/nsswitch.conf) ou vous devez utiliser un "nom de domaine complet", complet avec l'hôte, domaiin et "TLD" (.org, .com, .net ce genre de suffixe).
la source
~/.ssh/config
, ce que je comprends être le point de cette question.HostName
est un alias arbitraire, pas un nom de domaine.utiliser une fausse ProxyCommand ...
la source