服务器无法远程登录怎么办?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

服务器无法远程登录怎么办?

洛欢 2015-08-17 14:12:03 10724
问题描述:
用户反馈问题很简单就是:服务器无法远程。用户提供了相关的登陆信息。主机ping 不通,密码VNC登陆不正常,登陆后就会自动返回为登陆状态,如下图:


解决过程:

通常这种问题首先想到的可能是:
1、远程服务没有开启;
2、sshd_config的配置文件中的禁止了root用户的登陆;
3、防火墙策略限制;
4、network-manger服务引起的网络不通畅导致无法远程。
5、磁盘挂载错误导致服务器没有正常启动进而无法远程  等等,这些都是需要通过VNC进行登陆查看的。
于是单用户登陆用户的主机,在主机进入单用户的过程中抓取到如下的截图,其中发现有关于用户数据盘挂载的错误,如下图:

于是分析可能用户的数据盘挂载上是存在问题的。第一时间排查了用户的/etc/fstab  文件中的磁盘的挂载的信息。查如下图发现用户的一个数据盘挂载了5个目录。同一磁盘的多个挂载会导致无法正常启动的。于是和用户说明后注销了其余的四个。然后重新启动。

本以为万事大吉,启动后外部可以正常的ping 通主机了。但是无法远程连接。通过VNC连接还是无法正常登陆,同之前的现象是相同的。于是又单用户进入,继续排查,发现SSH服务无法正常启动。提示相关的报错如下图:


以上的这个报错看上去比较复杂,但是仔细查看其实重点是






这个说明该sshd 的服务就的权限可能是不正常的,按照错误的提示是说权限太大了。ssh服务的几个配置文件相关的权限是必须要正确的,包括这里提到的两个文件的权限只能是644 的。再看一下ssh 服务下面的文件如下:居然都被改为777了。


此时我们需要按照提示把提示中的两个文件 /etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key 这两个权限都赋予644权限,在启动服务,发现报错已经变为如下报错了:


这个报错也是权限上的问题,是说/var/empty/sshd 这个文件目录的所有者必须是root,并且不属于其他的组,其他用户不能有写的权限。这个权限的值计算通常755 就可以了。然后查看该路径下的此文件为777 。并且所有者和组已经是root了。那么只要更改权限就可以了。


操作如下 :然后启动该服务,SSH已经启动成功了。 如图。


当我以为再次万事大吉的时候,满怀信心的telnet 远程端口后,正常后,发现root还是不能登录。通过VNC还是不能登陆,现象还是同开始的时候是一样的。此时我无奈之下再次单用户默认更改了root密码。后测试还是无济于事。后来和其他的同事讨论分析可能是root账号权限问题,于是我创建了一个其他的可以登录账号的权限,测试是可以登录的,但是还是没有找到根本原因。后来忽然醒悟该用户可能对 /目录赋予了777的权限。单用户再次查看一下,果然如此。然后我将  /etc/passwd  和  /etc/shadow下的两个文件都更改为了 644  和 400 ,然后测试,终于完事大吉了。但虽然是可以远程登录了,由于用户执行了 777的操作,服务器上肯定还是会存在其他的问题的。其实如果能最先就判断是否为777 权限问题导致的,可能会少走一些弯路。

网络安全 数据安全/隐私保护
分享到
取消 提交回答
全部回答(6)
  • 老毛哈哈
    2015-09-01 17:08:18
    Re服务器无法远程登录怎么办?
    获益匪浅
    0 0
  • 匹诺曹
    2015-08-23 19:58:12
    Re服务器无法远程登录怎么办?
    干货帖子,又长了不少姿势   不过我还是喜欢用 Windows
    0 0
  • dnmht
    2015-08-19 16:04:42
    Re服务器无法远程登录怎么办?
    干货帖子,又长了不少姿势
    0 0
  • 隐形云云盘
    2015-08-19 14:23:26
    Re服务器无法远程登录怎么办?
    现在的服务器有很多都弱爆了,有谁想要了解最强大的服务器就和我联系,也可以通过隐形云找我
    0 0
  • 我的中国
    2015-08-18 10:35:24
    赞一个  技术不错
    0 0
滑动查看更多
+ 订阅

云安全开发者的大本营

推荐文章
相似问题