因此,這已被證明是谷歌非常困難的事情。我有一個工作設置,我可以在一天結束時休眠或關閉的筆記本電腦上運行一切。這樣做明顯切斷了我的SSH會話在puTTY。稍微戳了一下之後,我發現了一個很好的方法來自動啓動屏幕,並在通過puTTY連接時(即將if [ -z "$STY" ]; then screen -R; fi
添加到我的.bashrc的末尾)獲取斷開的會話。當恢復中斷的屏幕會話時重新連接SSH代理轉發
這很好用,但我仍然有問題。我通過我的筆記本上的Pageant(我最初輸入密碼的地方)使用SSH代理轉發到輔助服務器。從我所知道的情況來看,這個套接字在PuTTY會話中斷時中斷,在重新加載並重新連接到屏幕時不會重新連接。
這裏是我的測試:
20:01:38 {~/test}$ git clone [email protected]:coldcandor/env.git
Cloning into 'env'...
remote: Counting objects: 1105, done.
remote: Total 1105 (delta 0), reused 0 (delta 0), pack-reused 1105
Receiving objects: 100% (1105/1105), 341.06 KiB | 453.00 KiB/s, done.
Resolving deltas: 100% (544/544), done.
Checking connectivity... done.
20:01:43 {~/test}$ rm -rf env
膩子斷開並重新連接
20:01:58 {~/test}$ git clone [email protected]:coldcandor/env.git
Cloning into 'env'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
正如你所看到的,它不保留轉發。但是,如果我不重新連接到屏幕,或重新連接後完全退出並重新打開屏幕,則沒關係。
我該如何解決這個問題?
這個解釋爲什麼非常有意義。我會玩弄你的建議,看看它是否能解決問題(當然要回來後再更新)。謝謝! –
你在正確的軌道上!它沒有工作,但試圖修復它時,我偶然發現了一個工作版本 - 請參閱我接受的答案。顯然,我原來的google-fu並不好... –