【发布时间】:2016-04-04 20:30:02
【问题描述】:
所以事实证明这对谷歌来说是一件非常困难的事情。我有一个工作设置,我在一天结束时休眠或关闭的笔记本电脑上运行所有东西。这样做显然会切断我在 puTTY 中的 SSH 会话。经过一番摸索,我发现了一种在通过 puTTY 连接时自动启动屏幕并拾取断开的会话的好方法(即,将if [ -z "$STY" ]; then screen -R; fi 添加到我的 .bashrc 的末尾)。
这很好用,但我仍然有问题。我通过笔记本电脑上的 Pageant(我最初在其中输入密码)使用 SSH 代理转发到辅助服务器。据我所知,当 puTTY 会话中断并且在重新加载并重新连接到屏幕时不会重新连接时,此套接字已损坏。
这是我的测试:
20:01:38 {~/test}$ git clone git@github.com: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
断开puTTY并重新连接
20:01:58 {~/test}$ git clone git@github.com: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.
如您所见,它不保留转发。但是,如果我不重新连接到屏幕,或者在重新连接后完全退出并重新打开屏幕,那就没问题了。
我该如何解决这个问题?
【问题讨论】:
标签: ssh ssh-keys gnu-screen ssh-agent