SSHホスト名のIPを見つける方法


10

HostNameコマンドラインでssh構成からのIPを取得する簡単な方法はありますか?何度も使用する必要がscpあり、マシンに接続したいのですが、覚えているのはHostNameだけです。


1
SCPはあなたを読みます.ssh/config/etc/ssh/ssh_config。構成で定義されたエイリアスでscpできない理由はありますか?
ティムケネディ

これを回答として追加してください。私が最初に試したとき、私はキーなどを提供しなかったので、ホストを認識できなかったと思います。
m33lky

答えは少し軽いように見えましたが、私はそれを追加しました。私がいくつかの興味深いssh設定関連の読み物であると考えるものと一緒に。
ティムケネディ、

回答:


2

SCPはあなたを読みます~/.ssh/config/etc/ssh/ssh_config。ssh設定でホストエイリアスの1つの名前との間でscpを実行している限り、機能します。

これは答えとしてはちょっと短いようですので、ssh設定でできることについての詳細を次に示します...

ssh設定ファイルの高度な機能のいくつかを説明する投稿は次のとおりです。http//magazine.redhat.com/2007/11/27/advanced-ssh-configuration-and-tunneling-we-dont-need-no-臭い-vpn-ソフトウェア/

ssh / scpをhttpプロキシ経由でトンネルする必要がありますか?問題ありませんここで説明されている手順を使用してくださいhttp : //www.mtu.net/~engstrom/ssh-proxy.php

ProxyCommandオプションの別の使用:http ://jasonmc.wordpress.com/2008/04/16/ssh-magic/


1
的確な短い答えは素晴らしいです。そうでなければ、話題から外れるのは簡単です。トンネリングをしている人は誰でもsshuttleを見てください
m33lky

9

hostコマンドラインで指定された引数からssh_config hostnameエントリにマッピングするのは、sshそれ自体を使用するのが簡単です。

実際に接続せずに、コマンドラインの構成に何を使用するかを評価して出力するように要求できます。次に、リストの対象を取り出すだけですhostname(構成キーの名前を小文字に変換することで正規化することに注意してください)。簡単な例は次のとおりです。

ssh -G database | awk '/^hostname / { print $2 }'

.ssh / configに以下が含まれている場合:

Host database
Hostname database.example.com

これは印刷されdatabase.example.comます。

pingを実行するには、もちろん出力を評価して引数として使用できます。

ping $(ssh -G database | awk '/^hostname / { print $2 }')

2
それはものです。すばらしい答えです!
heisian 2016


1

通常、実行できhost HostName、IPアドレスを取得します。

hostがインストールされていない場合は(インストールされているはずです)、nslookup HostName 8.8.8.8Google DNSサーバーを使用して検索を実行できます。

これらのことを行うには、マシンのリゾルバーが正しい構成(ファイル/etc/resolv.confおよびおそらく/etc/nsswitch.conf)を持っているか、ホストを完備した「完全修飾ドメイン名」を使用する必要があります。ドマイイン、および「TLD」(。org、.com、.netというサフィックス)。


3
これは~/.ssh/config、でホストエイリアスを検索しません。これは、この質問のポイントであると理解しています。
Gilles「SO-悪をやめる」

はは、私も気づきました。ssh HostNameは任意のエイリアスであり、ドメイン名ではありません。
m33lky

コメントは詳細な議論のためのものではありません。この会話はチャットに移動しました
terdon

0

偽のProxyCommandを使用する...

$ ssh -o 'ProxyCommand echo %h>&2' mYaLiAs 2>&1 | fgrep -v ssh_exchange_id |  read actual
$ echo $actual
192.168.1.234
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.