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

2011-03-06 18:41:41 +08:00
 truant
我在本地通过 ssh -D 7070 user@ip 连接到VPS之后,过一段时间本地的终端就会失去响应,这一点还不奇怪,奇怪的是当我kill掉本地ssh进程之后,服务器端的用户却始终还在登陆着不退出。

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

我想问下这种情况应该在服务器端如何设置才能解决?
5249 次点击
所在节点    问与答
5 条回复
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
2011-03-06 20:16:47 +08:00
本地设置下保持通信间隔时间就好

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

刚想起来服务器端的配置文件里 /etc/ssh/sshd_config 还有个 ClientAliveInterval 参数,不过异常退出必须等超时,这个没跑,只是看超时时限的长短了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/9367

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX