%E3%81%A7%E3%80%81%E8%A4%87%E6%95%B0%E3%81%AE%E3%83%9B%E3%82%B9%E3%83%88%E5%90%8D%E3%81%AE%E3%81%84%E3%81%9A%E3%82%8C%E3%81%8B%E3%82%92%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%81%AB%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
sshに接続する任意のIPアドレス(ワイルドカードを使用)を選択させることはできますか? 「asd」のIPアドレスを持つコンピュータが30台あります。1.asd.asd.asd.com"を"asdに"30.asd.asd.asd.com"でエイリアスxxxxを使用してそのうちの1つ(ランダムに選択されている)に接続したいです。
このワイルドカードを使ってみました。
Host xxxx
Hostname asd[0-30].asd.asd.asd.com
User my_username
しかし、これはうまくいきません。どんなアイデアがありますか?可能ですか?
答え1
必ずそうすれば、次のようにすることができます。
Host xxxx
User my_username
ProxyCommand nc asd$((1+$((RANDOM %% 30)))).asd.asd.asd.com 22
これはbashシェルを使用すると仮定します。それ以外の場合は、プロキシコマンドを bash 呼び出しの引数として渡すことができます。
ProxyCommand /bin/bash -c "exec nc asd$((1+$((RANDOM %% 30)))).asd.asd.asd.com 22"
答え2
私はssh自体がこれを行うことができるとは思わない。
自分が制御する領域の1つのホスト名にすべてのIP番号を割り当てる場合は、DNSを使用してこれを行うことができます。
別のオプションは、ランダムに選択されたアドレスでsshを呼び出す単純なラッパー(Pythonなど)を作成することです。