Çok atlama tüneli:
Bir atlama sunucusu aracılığıyla uzaktaki bir sunucuya bir tünel açıyorum.
ssh ${JUMP_HOST} -l ${JUMP_HOST_USER} -L ${PORT}:localhost:${PORT} \
ssh ${REMOTE_HOST} -l ${REMOTE_HOST_USER} -L ${PORT}:localhost:${PORT}
Ben açtığımda Şimdi bir bağlantı localhost:portkendisine iletecek jump:portsırayla iletecek olanremote:port
Yerel tüneli arka planda çalıştır:
Bununla ilgili sorun bir kabuk açmasıdır remote, oysa tünelin arka planda çalışmasını istiyorum.
Bu yüzden -farka planda çalışmasını istemek için yerel tünele seçenek ekledim
ssh -f ${JUMP_HOST} -l ${JUMP_HOST_USER} -L ${PORT}:localhost:${PORT} \
ssh ${REMOTE_HOST} -l ${REMOTE_HOST_USER} -L ${PORT}:localhost:${PORT}
Ancak bu bir hata döndürür:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Tahminen bu hata dan tünelin geliyor jumpiçin remote, çünkü kaynaklanır stdinbenim yerel tünel daemonized zaman kapalıdır.
Uzak tünele söyle bir komut çalıştırmayacağım:
Sonra jump-> remotetüneli çalıştırmaya çalıştım, -Nuzak bir komut çalıştırmayacağımı söylemek için.
ssh -f ${JUMP_HOST} -l ${JUMP_HOST_USER} -L ${PORT}:localhost:${PORT} \
ssh -N ${REMOTE_HOST} -l ${REMOTE_HOST_USER} -L ${PORT}:localhost:${PORT}
Arka planda tünel çalışır ve ben başarıyla bağlanabilir - Bu harika çalışıyor remote:portbağlanarak localhost:port.
Sorun:
Yaşadığım sorun tünelleri kapatmak istediğimde.
Yerel ssh tünelimin yardımcısına bir öldürme sinyali gönderirsem, kapanacak, ancak devam eden ssh tüneli jumpçalışıyor.
Görünüşe göre yerel tünelimi yeniden düzenlediğimde, tüneldeki jumpdaemonlandı.
Soru:
Yerel tünelimi arka planda çalıştırmak mümkün mü, ama onu öldürdüğümde, tüm uzak sunucularda oluşturduğu tüm tünelleri kapattı mı?
$ ssh -V OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016
-J(jumphost)?