【已解决】SSH连接linux服务器报错:Server refused to start a shell/command

问题现象

用MobaXterm工具ssh远程CentOS7服务器,出现了如下错误:
Server refused to start a shell/command
报错信息

原因

以下为可能的原因:
1.如上图所示,服务器内存不足;
2.ssh创建过的连接会话数过多。

解决方法

方法1:

以root用户登录并终止连接已报错的系统用户的所有进程:

pkill -KILL -u username

注:此法对我有效。
如果用户中有重要进程不能kill掉,慎用。可以使用如下命令杀死指定的用户终端:

[root@localhost ~]# pkill [-t 终端号] 进程名

该命令实操过程:

[root@localhost ~]# w
#使用w命令查询本机已经登录的用户
20:06:34 up 28 min, 3 users, load average: 0.00, 0.00, 0.00
USER  TTY           FROM LOGIN@  IDLE  JCPU  PCPU WHAT
root ttyl              -  19:47 18:52 0.01s 0.01s -bash
root pts/0 192.168.0.100  19:47 0.00s 0.09s 0.04s w
root pts/1 192.168.0.100  19:51 14:56 0.02s 0.02s -bash
#当前主机已经登录了三个root用户,一个是本地终端ttyl登录,另外两个是从192.168.0.100登陆的远程登录
[root@localhost ~]# pkill -9 -t pts/1
#强制杀死从pts/1虚拟终端登陆的进程
[root@localhost ~]# w
20:09:09 up 30 min, 2 users, load average: 0.00, 0.00,0.00
USER   TTY          FROM LOGIN@  IDLE  JCPU  PCPU WHAT
root  ttyl             -  19:47 21:27 0.01s 0.01s -bash
root pts/0 192.168.0.100  19:47 0.00s 0.06s 0.00s w
#虚拟终端pts/1的登录进程已经被杀死了

方法2:

修改文件 /etc/security/limits.d/20-nproc.conf 中的nproc个数4096为最大65535

修改前

soft  nproc 4096 

修改后

soft nproc 65535

修改文件 /etc/ssh/sshd_config 下面两个注释放开

修改前:

#MaxSessions 10
#MaxStartups 10:30:100

修改后:

 MaxSessions 10
 MaxStartups 10:30:100

重启网络

systemctl restart network
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值