V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
truant
V2EX  ›  问与答

请教一个VPS上SSHD服务设置问题

  •  
  •   truant · 2011-03-06 18:41:41 +08:00 · 5393 次点击
    这是一个创建于 5002 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在本地通过 ssh -D 7070 user@ip 连接到VPS之后,过一段时间本地的终端就会失去响应,这一点还不奇怪,奇怪的是当我kill掉本地ssh进程之后,服务器端的用户却始终还在登陆着不退出。

    导致我再次登陆会被自动closed(设置了Maxlogin 1)

    我想问下这种情况应该在服务器端如何设置才能解决?
    5 条回复    1970-01-01 08:00:00 +08:00
    Platinum
        1
    Platinum  
       2011-03-06 20:10:29 +08:00
    一般都会用 autossh 之类的工具来自动重连

    我的一行完整连接参数,供参考
    autossh -M 0 -o TCPKeepAlive=yes -o ServerAliveInterval=30 -qTfnNC -D 192.168.1.52:55555 freya

    Maxlogin 不知道是别人设的还是你自己设的(不带这么自残的吧?),判定超时总得有个时间,实在不行你定期自动 kill 掉连接,等本地 autossh 重新连吧……
    spritevan
        2
    spritevan  
       2011-03-06 20:16:47 +08:00
    本地设置下保持通信间隔时间就好

    vim ~/.ssh/config
    ServerAliveInterval 300
    truant
        3
    truant  
    OP
       2011-03-07 15:31:33 +08:00
    @spritevan @Platinum 谢谢二位的回复。
    Maxlogin是我自己设置的 :) 为了一个帐号同时只能在一个地点登陆(这样应该没错吧?)
    自动重连倒是都可以,关键是本地与VPS之间失去连接之后,VPS端的帐户不会退出,这一点我很疑惑,所以重连根本是连不上的。
    看了点手册很是头疼,并不想钻研多深,只要能正常给自己和几个朋友使用就好。
    xinzhi
        4
    xinzhi  
       2011-03-07 16:34:58 +08:00
    @truant 使用一个有权限的帐号登录VPS,top -u USER 看看USER相应的sshd进程的PID,然后kill PID就可以让USER再次登录了。这样可以解决,但如果经常发生就得想其他办法了。
    Platinum
        5
    Platinum  
       2011-03-07 16:37:39 +08:00
    如果是为了保证安全,使用公钥登录、禁止密码登录就够了,限制连接数1、改22端口之类的是在给自己找麻烦

    刚想起来服务器端的配置文件里 /etc/ssh/sshd_config 还有个 ClientAliveInterval 参数,不过异常退出必须等超时,这个没跑,只是看超时时限的长短了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1852 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:37 · PVG 00:37 · LAX 08:37 · JFK 11:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.