我有用於SSH代理的服務器。 通常情況下,我連接到服務器這樣的:編寫一個shell腳本以在連接丟失時繼續爲代理重新連接SSH
ssh proxy-server -D 7070
然而,我的網絡不太穩定,我經常輸到代理服務器的連接。然後我必須切換到終端並再次鍵入此命令...
我想知道我是否可以編寫一個腳本,以便它可以嘗試再次進行連接,當它檢測到代理服務器的連接是丟失。但我不知道如何檢測連接是否週期性丟失。任何人都有這個想法?
謝謝!
我有用於SSH代理的服務器。 通常情況下,我連接到服務器這樣的:編寫一個shell腳本以在連接丟失時繼續爲代理重新連接SSH
ssh proxy-server -D 7070
然而,我的網絡不太穩定,我經常輸到代理服務器的連接。然後我必須切換到終端並再次鍵入此命令...
我想知道我是否可以編寫一個腳本,以便它可以嘗試再次進行連接,當它檢測到代理服務器的連接是丟失。但我不知道如何檢測連接是否週期性丟失。任何人都有這個想法?
謝謝!
我認爲您可以檢測網絡資源是否仍然可用的唯一方法是向其發送數據。你可以做的就是守護進程,每隔2-3s就會持續ping代理服務器。只要它檢測到連接丟失,就使其運行一個腳本,該腳本直接啓動到代理服務器的ssh連接(或繼續嘗試,直到代理可用)。也許有更優雅的方式,但我想不出。
您可以等到SSH退出,並把它放在一個循環:
while true
do
ssh -TN $1 -D 7070
done
但林是正確的這並不意味着您的連接是否正常,掛起仍然可以阻止你的SSH命令,你不要真的不知道。