SSH隧道挂起

lcg*_*ida 7 ssh ssh-tunneling

我正在尝试从家里通过大学计算机使用 SSH 隧道,以便我可以访问一些文章。

两台机器都运行 Ubuntu 11.04。大学的机器运转openssh-server

在家里,我遵循了以下说明:

  1. 打开一个 ssh 会话:

    ssh -D 9999 -C user@my_addr.com 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后我配置火狐端口用户SOCKS5连接9999localhost

这工作了一段时间。然后,它突然挂断了连接,终端就死机了。

我在这里缺少什么?

jan*_*nos 3

尝试autossh。它检测挂起的连接并自动重新连接。我过去在类似的情况下使用过它,它对我来说效果很好。

编辑

  1. 我曾经在 中运行它screen,这有两个好处:在后台运行(某种程度上),并且可以稍后返回到会话以检查其状态并在必要时进行调试,如下所示:

    screen -d -m -S my-autossh-tunnel autossh your_autossh_args
    
    Run Code Online (Sandbox Code Playgroud)

    这将在后台启动屏幕。如果您想检查进程autossh,可以screen使用以下命令重新连接到此会话screen -R my-autossh-tunnel

  2. 为了方便起见,我使用了空密码,但为了增加安全性,我在远程端的authorized_keys中使用了以下选项:

    command="/bin/false",no-agent-forwarding,no-X11-forwarding,no-pty`
    
    Run Code Online (Sandbox Code Playgroud)

    这样就可以用密钥建立隧道,并且外壳不能被滥用于其他用途。