@ Till'nin cevabı için teşekkürler , bana çok ilham verdi.
İle bağlantınızı zorla yeniden yönlendirebileceğinizi buldum ProxyCommand nc dst dst-port
.
Örneğin, Sen aslında bağlanacak B.com
kullanırsanız
ssh A.com -o ProxyCommand="nc B.com 22"
Ancak UserKnownHostsFile
yine deA.com
Böylece, sitenize "otomatik" ssh_config
Host auto.internal-server
Hostname {internal-server ip or domain}
ProxyCommand bash -c '(timeout 0.1 nc -z %h %p) && nc %h %p || ssh -W %h:%p external-server'
Ben yerini nc -w 1 %h %p
ile (timeout 0.1 nc -z %h %p) && nc %h %p
daha az sonra 100ms iç-sunucu ulaşabilir eğer daha hızlı olacaktır.
Veya yerine geçebilirsiniz ping
, ancak gibi bir TCP tabanlı proxy kullanıyorsanız proxychains
veya sunucu bir ICMP yankısına izin vermiyorsa, bu kötü bilgileri gösterebilir .
Host auto.internal-server
Hostname {internal-server ip or domain}
ProxyCommand bash -c '(ping %h &>/dev/null) && nc %h %p || ssh -W %h:%p external-server'
(timeout 0.1 nc -z %h %p)
Dahili sunucuda olup olmadığınızı algılayan herhangi bir şeyle değiştirebilirsiniz .
Birden fazla aday IP'niz varsa, bunu bile kullanabilirsiniz:
Host auto.internal-server
Hostname {internal-server ip or domain}
ProxyCommand bash -c 'f(){(timeout 0.1 ping -c 1 $1 &>/dev/null) && nc $1 %p;}; f 1.1.1.1 || f 2.2.2.2 || f 3.3.3.3'
Bağlanmaya çalışır 1.1.1.1
, başarısız olursa bağlanmaya çalışır 2.2.2.2
ve sonra 3.3.3.3
.