Наутилус: добавить динамическую закладку для sftp папки с изменяющимся IP?

Я хотел бы добавить закладку в наутилусе к sftp серверу, IP-адрес которого изменяется со временем.

Я соединяюсь через sftp с (облачный экземпляр Google) сервер, вставляя в файловый менеджер адрес:

sftp://username@xx.xxx.xx.xx/home/

где xx.xxx.xx.xx является IP-адресом. Я хотел бы добавить это как закладку в Наутилусе, с которым я могу легко сделать ctrl +d. Однако IP-адрес продолжает изменяться со дня на день. Я могу получить IP-адрес с командой как:

gcloud compute instances describe instancename --format="get(networkInterfaces[0].accessConfigs[0].natIP)"

Есть ли какой-либо способ, которым у меня может быть динамическая закладка Наутилуса, которая использовала бы команду выше для создания корректного адреса? Или я могу выполнить команду сам для обновления статической закладки наутилуса?

Спасибо!

1
задан 26 November 2019 в 22:18

1 ответ

Можно добавить поддельный домен, указывающий на IP

Редактирование /etc/hosts, и добавить

xx.xxx.xx.xx    my_foo_domain

Для доступа затем, Вы просто вставляете sftp://your_user@my_foo_domain

Этот способ, которым Вы не должны создавать ярлык каждый раз, но Вы имеете к редактирование /etc/hosts каждый раз. Можно создать команду для обновления IP, как (скопируйте Ваш /etc/hosts):

sed -i -E 's/^[.0-9]*[[:blank:]](my_foo_domain)/<your new ip> \1/' /etc/hosts

можно создать функцию, помещенную в Ваш .bahsrc:

_renew_ip() {
  ip=$(gcloud compute instances describe instancename --format="get(networkInterfaces[0].accessConfigs[0].natIP)")
  sed -i -E "s/^[.0-9]*[[:blank:]]*(my_foo_domain)/$ip \1/" /etc/hosts
}

alias renew_ip='bash -c "$(declare -f _renew_ip); _renew_ip"' 
alias sudo='sudo '

И затем можно просто вызвать функцию:

sudo renew_ip
1
ответ дан 7 December 2019 в 14:56

Другие вопросы по тегам:

Похожие вопросы: