1

Возможно ли, чтобы ssh или .ssh/config использовали динамический IP-адрес, который хранится в файле?

У меня есть удаленный компьютер с динамическим DNS, который помещает свой текущий IP-адрес в файл в общей папке. Я предпочел бы найти свой IP-адрес таким образом, чем использовать один из динамических сервисов DNS.

Теперь я хотел бы использовать ssh server и использовать все параметры и настройки из моего файла .ssh/config . Но так как IP-адрес является динамическим и не может быть сохранен в этом файле конфигурации, я не уверен, что делать. Могу ли я получить доступ к IP и использовать его с ProxyCommand?

2 ответа2

5

Конечно:

ProxyCommand "~/bin/connect-via-dropbox %h %p"

… Где скрипт connect-via-dropbox будет искать IP-адрес вашего Dropbox, а затем подключаться к нему с помощью nc , socat или ncat .

Например:

#!/bin/sh
host=$1
port=$2

file="$HOME/Dropbox/Server IPs/$host.txt"
if [ ! -s "$file" ]; then
    echo "error: '$file' empty or not found" >&2; exit 1
fi

ip=$(< "$file")
exec nc -v "$ip" "$port"
#exec socat stdio "tcp:$ip:$port"
#exec ncat "$ip" "$port"
3

Вы можете использовать backquote -> `<- для подстановки команды с ее выводом.

ssh `cat file`

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .