用linux系统的ssh远程ssh 连接远程服务器服务器后,过一段时间会卡死(在切换网络的条件)

  一枚成分复杂的网络IT分子,常年游弋于电子商务,属于互联网行业分类中的杂牌军。当前正在待业中...
Design. Valid XHTML & CSS.中国领先的IT技术网站
51CTO旗下网站
如何解决远程连接用户过多的问题
在工作中,经常需要远程连接到服务器上,然而在公司里,老总、同事都需要连接到服务器上的,而默认的Win2003操作系统最大连接数是2,这样一来,问题也就来了,常常遇到“终端服务器超出最大连接数”,导致无法正常登陆服务器。下面讲解在网上流传的几种方法,来解决这一问题。
作者:静化心灵来源:KevinYu的专栏| 13:29
在工作中,经常需要远程连接到服务器上,然而在公司里,老总、同事都需要连接到服务器上的,而默认的Win2003操作系统最大连接数是2,这样一来,问题也就来了,常常遇到&终端服务器超出最大连接数&,导致无法正常登陆服务器。下面讲解在网上流传的几种方法,来解决这一问题。
推荐专题:
解决方法一:用&注销&方式退出远程桌面,而不是直接关闭窗口;
解决方法二:踢出已经断开的连接用户;
1、首先通过各种方法连接到服务器上(telnet)
2、上去后,查看登陆用户列表。输入命令:query user
这样你就可以看出有何不同来啦,可以根据你的具体情况而定的。ID为0的用户就是本地登陆的,而在State中看提示,当提示为已断开,则说明用户已经断开还占用着系统资源和通道,这样就可以把该用户踢掉。输入logoff ID,即踢除相应ID的用户。
解决方法三:限制已断开连接的会话存在时间;(推荐)
一般情况下,我们在维护远程服务器时,不可能长时间在线,但是系统默认的却是只要登录就不再断开。因此,我们可以修改这一默认设置,给它指定一个自动断开的时间即可。
可以在Windows 2003 服务器上通过组策略中设置一下来解决问题:单击&开始 & 运行&,输入&gpedit.msc&,回车后打开组策略窗口,然后依次定位到&计算机配置 & 管理模板 & Windows 组件 & 终端服务 & 会话&,然后在右侧窗口中双击&为断开的会话设置时间限制&,在打开的窗口中将&结束断开连接的会话&时间设置为5分钟,或者设置为空闲就断开。或在远程服务器上打开&运行&窗口,输入&tscc.msc&连接设置窗口。然后双击&连接&项右侧的&RDP-Tcp&,切换到&会话&标签,选中&替代用户设置&选项,再给&结束已断开的会话&设置一个合适的时间即可。
解决方法四:增加连接数量,即设置最大连接数再多些
默认情况下允许远程终端连接的数量是2个用户,我们可以根据需要适当增加远程连接同时在线的用户数。
单击&开始&运行&,输入&gpedit.msc&打开组策略编辑器窗口,依次定位到&计算机配置 & 管理模板 & Windows 组件 & 终端服务&,再双击右侧的&限制连接数量&,将其TS允许的最大连接数设置大一些即可。
经过上面两个配置(方法三&方法四),基本上就可以保证远程终端连接时不再受限。但仍有人反映,当前同时只有一个用户进行连接,却提示超出最大允许链接数,这又是什么原因呢?出现这种情况是因为操作不当所造成的。在上一个帐户登录远程桌面后退出时,没有采用注销的方式,而是直接关闭远程桌面窗口,那么导致该会话并没有被释放,而是继续保留在服务器端,占用了连接数,这样就会影响下一个用户的正常登录了。
解决方法五:限制用户会话数
对Terminal Services进行限制,使得一个用户仅仅能够连接一次。对于Windows Server 2003,请在Terminal Services Configuration(Terminal Services配置)中将&限制每位用户只有拥有一个会话&(Restrict each user to one session)设置为&是&(Yes)。此外,您可以将&限制终端服务用户使用单个远程会话&组策略设置为&启用&。
注意:版本不一样解决的方法有异!
A:这是因为Windows 2003中设置了最大允许连接数限制,而你每次连接后可能没有注销而是直接关闭,导致连接数超过了最大连接数。你可以在Windows 2003 服务器上通过组策略中设置一下来解决问题:单击&开始&运行&,输入 &gpedit.msc&,回车后打开组策略窗口,然后依次定位到&计算机配置 & 管理模板 & 终端服务 & 会话&,然后在右侧窗口中双击&为断开的会话设置时 间限制&,在打开的窗口中将&结束断开连接的会话&时间设置为5分钟。最好的解决方法还是你每次断开连接时通过注销的方式。
B:经常多人管理服务器的朋友一定遇到过当自己终端连接远程计算机的时候却提示&终端连接超出了最大连接&的提示吧?这是因为windows2003仅支持2个终端用户的登陆。当这种情况出现后,多数人选择的是给机房打电话进行重启服务器。可是带来的损失也是显而 易见的。那么我们有什么办法来解决呢?方法当然是有的。我们只需要在一台2003的机器上运行&tsmmc.msc&就可以打开远程桌面连接,在这里我们 添加一个新的连接,输入对方的IP地址帐号和密码后就可以成功登陆到对方的桌面中,这时可以再踢下一个用户。就可以解决终端连接数超过最大的问题。
C:开始 & 控制面版 & 授权里面更改连接数。
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
热点头条热点头条热点
24H热文一周话题本月最赞
讲师:152174人学习过
讲师:12593人学习过
讲师:13015人学习过
精选博文论坛热帖下载排行
本书是根据全国计算机技术与软件专业资格(水平)考试“网络工程师级考试大纲”编写的考试辅导用书。全书主体按考试大纲的章节编排,分上、...
订阅51CTO邮刊linux服务器经常出现停顿现象,linux卡住的解决_服务器应用_Linux公社-Linux系统门户网站
你好,游客
linux服务器经常出现停顿现象,linux卡住的解决
作者:Linuxidc
表现现像:在远程操作LINUX服务的时候比如: ssh 经常出现: ls 或者 在输入任何字符的时候突然没有响应,需要多等一段时间linux才能反映过来!一\查看日志:[root@mailtest authlib]# tail -n 10 /var/log/messages |grep erJul 23 13:04:26 mailtest kernel: sd 0:0:1:0: ABORT operation started.Jul 23 13:04:26 mailtest kernel: sd 0:0:1:0: ABORT operation timed-out.Jul 23 13:04:26 mailtest kernel: sd 0:0:1:0: DEVICE RESET operation started.Jul 23 13:04:26 mailtest kernel: sd 0:0:1:0: DEVICE RESET operation timed-out.Jul 23 13:04:26 mailtest kernel: sd 0:0:1:0: BUS RESET operation started.Jul 23 13:04:26 mailtest kernel: sym0: SCSI BUS reset detected.Jul 23 13:04:26 mailtest kernel: sym0: SCSI BUS has been reset.Jul 23 13:04:26 mailtest kernel: sd 0:0:1:0: BUS RESET operation complete.Jul 23 13:04:26 mailtest kernel: target0:0:1: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 62)Jul 23 13:04:26 mailtest kernel: target0:0:0: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 62)[root@mailtest authlib]# uname -aLinux
2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST
i686 i386 GNU/Linux[root@mailtest authlib]#
【内容导航】
相关资讯 & & &
& (01月25日)
& (10/22/:47)
& (08/17/:52)
& (12/27/:40)
& (08/18/:47)
& (08/12/:07)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款ssh远程执行命令方法和Shell脚本实例
投稿:junjie
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了ssh远程执行命令方法和Shell脚本实例,本文讲解了ssh执行远程操作方法和远程执行命令shell脚本示例,需要的朋友可以参考下
写这篇博客之前,我google了一堆相关文章,大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,ubuntu10.04 server 亲测!!
ssh执行远程操作
ssh -p $port $user@$p 'cmd'&
$port : ssh连接端口号&
$user: ssh连接用户名&
$ip:ssh连接的ip地址&
cmd:远程服务器需要执行的操作&
基于公私钥认证或者用户名密码认证能确保登录到远程local2服务器(有点基本运维知识的人做这个事情都不是问题)
cmd如果是脚本,注意绝对路径问题(相对路径在远程执行时就是坑)
这个命令可以满足我们大多数的需求,但是通常运维部署很多东西的时候需要root权限,但是有几处限制:
远程服务器local2禁止root用户登录
在远程服务器脚本里转换身份用expect需要send密码,这样不够安全
ssh的-t参数
-t&&&&& Force pseudo-tty allocation.& This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services.& Multiple -t options force tty allocation, even if ssh has no local tty.&
中文翻译一下:就是可以提供一个远程服务器的虚拟tty终端,加上这个参数我们就可以在远程服务器的虚拟终端上输入自己的提权密码了,非常安全
ssh -t -p $port $user@$ip& 'cmd'&
#!/bin/bash&
#变量定义&
ip_array=("192.168.1.1" "192.168.1.2" "192.168.1.3")&
user="test1"&
remote_cmd="/home/test/1.sh"&
#本地通过ssh执行远程服务器的脚本&
for ip in ${ip_array[*]}&
&&& if [ $ip = "192.168.1.1" ]; then&
&&&&&&& port="7777"&
&&&&&&& port="22"&
&&& ssh -t -p $port $user@$ip "remote_cmd"&
这个方法还是很方便的,-t虚拟出一个远程服务器的终端,在多台服务器同时部署时确实节约了不少时间啊!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 linux远程连接工具ssh 的文章

 

随机推荐