SSH para um host com IP conhecido mas não estático (variável)

1

É possível ter ssh ou .ssh/config usando um endereço IP dinâmico armazenado em um arquivo?

Eu tenho uma máquina remota com DNS dinâmico que coloca seu IP atual em um arquivo em uma caixa de depósito compartilhada. Eu prefiro encontrar seu IP dessa maneira do que usar um dos serviços dinâmicos do DNS.

Agora eu gostaria de ssh server e ter todas as opções e preferências do meu arquivo .ssh/config usado. Mas como o IP é dinâmico e não pode ser armazenado nesse arquivo de configuração, não sei o que fazer. Posso acessar o IP e usá-lo com ProxyCommand ?

    
por mankoff 24.07.2015 / 22:07

2 respostas

5

Claro:

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

... onde o script connect-via-dropbox procuraria o endereço IP do seu Dropbox e se conectaria a ele usando nc , socat ou ncat .

Por exemplo:

#!/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"
    
por 24.07.2015 / 22:40
3

Você pode usar backquote - > '< - para substituir um comando por sua saída Algo como

ssh 'cat file'
    
por 24.07.2015 / 22:12