Intereting Posts
процесс убийства bash по вызову Как установить фреймворк на удаленном сервере без привилегий root Сервер Apache на разных дисковых разделах Создать компьютерную лабораторию с использованием Linux Может ли не-sudoer изменять что-либо за пределами домашнего каталога Не удается найти с помощью поиска yum, но вы можете увидеть его в списке yum Как быстрее перезагрузить окно tmux Мой жесткий диск заполнен – ​​как я могу определить, что занимает место? Обновление Fedora 23 до Fedora 24 без обновления шрифта Не удается достоверно создать каталог при запуске после того, как экземпляр ec2 монтирует свои эфемерные диски Каков рекомендуемый способ установки стандартного планировщика ввода-вывода в Linux? Ошибка малины Pi RT. Как установить отдельные настройки глобальной / пользовательской клавиатуры в LXDE? grep фиксированная строка в конце строки Где устанавливать приложения

Альтернатива DynDNS для SSH?

У меня есть сервер с динамическим IP-адресом и доступен через SSH. На сервере сценарий загружает текстовый файл, содержащий общедоступный IP-адрес сервера, в веб-папку всякий раз, когда этот адрес изменяется.

Как я могу подключиться к серверу от другого клиента? Это было бы похоже на DynDNS, но с использованием Интернета для получения IP-адреса.

Если у вас нет доступа к службе DynDNS или нет, создайте псевдоним в ~/.ssh/config и отредактируйте IP-адрес всякий раз, когда он изменится. Поместите эти две строки (необязательно, за которыми следуют другие настройки для этого псевдонима хоста) в ~/.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 

Вы можете использовать команду nsupdate для обновления динамического DNS на удаленном сервере. Я предполагаю, но неясно, что вы сравниваете (бесплатную) коммерческую услугу, предлагаемую DynDNS, против «чего-то еще». Оказывается, что «динамический DNS» на самом деле является стандартизованным протоколом для обновления записей. Вам не нужно перемещать файл .txt с записью в нем (хотя это тоже может работать). Вместо этого вы можете использовать nsupdate для обновления записи в живой зоне.

Почему бы вам просто не обновить записи DNS с помощью этого IP-адреса?

Я делаю это с помощью ssh-dyndns . См. Описание в моей записи в блоге .