SSH経由でアクセスできる動的IPアドレスを持つサーバーがあります。サーバーでは、スクリプトはアドレスが変更されるたびにサーバーのパブリックIPアドレスを含むテキストファイルをWeb場所にアップロードします。
他のクライアントからサーバーにどのように接続しますか?これはDynDNSに似ていますが、ネットワークを使用してIPアドレスを取得します。
ベストアンサー1
DynDNSサービスにアクセスできない、または使用していない場合は、エイリアスを作成し、~/.ssh/config
IPアドレスが変更されたら編集します。次の2行を入力します(オプションで、そのホストエイリアスのその他の設定が続く可能性があります)~/.ssh/config
。
Host nickname
HostName 1.2.3.4
CheckHostIP no
HostKeyAlias nickname
このスクリプトは、アドレスが変更されるたびに実行されます。
#!/bin/sh
url='http://example.com/my-server-ip.txt'
ip_address=$(wget -q "$url")
case $ip_address in
'') :;; # empty file or connection error
*[!.:0-9A-Fa-f]*) # bad character
echo 1>&2 "The content at $url doesn't look like an IP address!"; exit 1;;
*) # this looks like an IP address
ed -s ~/.ssh/config <<EOF
/^ *Host *nickname
/^ *HostName
s/e .*/e $ip_address/
w
q
EOF
esac