在太阳下
不管你喜不喜欢,高不高兴,爱与不爱;太阳照旧照耀着你!温暖着你!

Xshell 6 无法连接到CentOS 6.10服务器

Xshell 6 无法连接到CentOS 6.10服务器

链接服务器提示
Connecting to 45.**.**.***:22…
Could not connect to ’45.**.**.***’ (port 22): Connection failed.
Type `help’ to learn how to use Xshell prompt.
ping 也是没有问题的

网站不能访问,连静态固定网页都不能访问,访问页面没有任何提示
重启服务器也是没用
首先连接上服务器供应商提供的端口连接上服务器
看一下ssh服务出问题了没有
运行命令
sudo service sshd status
回车后发下,问题大了

sudo: /etc/sudo.conf is owned by uid 501, should be 0
sudo: /usr/libexec/sudoers.so must be owned by uid 0
sudo: fatal error unable to load plugins
先来说说第一条错误
sudo: /etc/sudo.conf is owned by uid 501, should be 0
据说出现这个错误是因为sudo.conf没有root权限,root权限是0
恢复root权限
运行命令
chown root:root /etc/sudo.conf

回车后,没提示
运行命令
sudo

提示
sudo:/usr/libexec/sudoers.so must be owned by uid 0
同上,还是sudoers.so没有root权限
运行命令
chown root:root /usr/libexec/sudoers.so

运行命令
sudo

提示
sudo: /etc/sudoers.d is owned by uid 501, should be 0
还是sudoers.d没有root权限
运行命令
chown root:root /etc/sudoers.d

再次运行命令
sudo

没有再报错了
再来看一下ssh服务状态
运行命令
sudo service sshd status

提示
openssh-daemon (pid 1238) is running….
openssh:OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。
daemon:Daemon()程序是一直运行的服务端程序,又称为守护进程。通常在系统后台运行,没有控制终端,不与前台交互,Daemon程序一般作为系统服务使用。Daemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。一般说Daemon程序在后台运行,是因为它没有控制终端,无法和前台的用户交互。Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程。
PID:(Process Identification)即进程识别号,也就是进程标识符。操作系统里每打开一个程序都会创建一个进程ID,即PID。
意思就是说:开放式远程控制守护进程,正常运行当中…..
测试Xshell 6仍然无法连接到CentOS 6服务器
用服务器供应商提供的加密链接终端检查一下服务器
connected(encrypted)
连接(加密)
点击窗口右上角的 Send CtrlAltDel
这个按钮什么意思我也不知道
反正就是它先会把依赖服务都先关闭然后再重启依赖服务
查了下,按下组合键“Ctrl+Alt+Del”时,立即执行重新启动操作系统
那应该就是重启按钮了吧

这里显示有两个错误
Adding udev persistent rules/etc/rc3.d/S26udev-post: line 41: /etc/udev/rules.d/70-persistent-net.rules: Permission denied [failed]
starting kdump [failed]
先来处理

Adding udev persistent rules/etc/rc3.d/S26udev-post: line 41: /etc/udev/rules.d/70-persistent-net.rules: Permission denied [failed]
Adding udev persistent rules
的意思就是说:添加udev持续性规则
udev:是Linux kernel 2.6系列的设备管理器
/etc/rc3.d/目录里面的这个S26udev-post文件的第41行
的/etc/udev/rules.d/70-persistent-net.rules这个文件获取权限失败
不管那么多,也不知道为什么
先把S26udev-post文件下载下来看看
运行进入/etc/rc3.d/目录命令
cd /etc/rc3.d/
运行查询目录、文件命令
ls

运行下载S26udev-post命令
sz S26udev-post

卧槽
sz: cannot open S26udev-post: No such file or directory
Can’t open any requested files.
SZ:无法打开S26UDEV POST:没有这样的文件或目录
无法打开任何请求的文件。
是权限不够,还是要root权限呢?
既然不能下载,那不会是个目录呢
运行cd命令进入/etc/rc3.d/S26udev-post目录
cd /etc/rc3.d/S26udev-post

-bash: cd: /etc/rc3.d/S26udev-post:Not a directory
位于/etc/rc3.d/里的S26udev-post文件,不是目录
那咋弄?
只能通过命令来修改了
卧槽,我小白啊,哪会什么修改命令
先不管这个了
starting kdump [failed]

kdump
是一种先进的基于 kexec 的内核崩溃转储机制。当系统崩溃时,kdump 使用 kexec 启动到第二个内核。
第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。
由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质
先运行一下kdump,看看kdump是个啥状况

显示
cannot find the start of the core dump
找不到启动的核心转储
查看内核转储是否有效
运行命令
ulimit -c

-c 表示内核转储文件的大小限制,现在显示为零,表示不能用
据说要修改 /etc/grub.conf文件
执行cd命令进入到/etc/目录
cd /etc/

然后备份grub.conf文件(如果改错了,可以用备份文件恢复)
cp grub.conf grub.conf_bak

打开 grub.conf文件
vi grub.conf

回车后

据说服务器内存小于8G,则需要要把crashkernel=auto修改成crashkernel=128M
先把光标移动到crashkernel=auto后面

然后再按键盘字母i,表示光标前插入的意思
把auto替换为128M

所有的修改完了以后
按键盘Esc键,退出编辑模式
输入:wq!执行保存并且退出操作界面
:wq!
回车后显示

这个时候我们重启一下服务器看看kernel是否正常运行了

这个时候显示
No kdump initial ramdisk found [WARNING]
看下内存少了没有
运行命令
free -m

看不出什么名堂,看不懂
中途重启了一下服务器,重启后kdump又变好了,不知道为什么

现在就来处理

Adding udev persistent rules/etc/rc3.d/S26udev-post: line 41: /etc/udev/rules.d/70-persistent-net.rules: Permission denied [failed]
Adding udev persistent rules
的意思就是说:添加udev持续性规则
udev:是Linux kernel 2.6系列的设备管理器
/etc/rc3.d/目录里面的这个S26udev-post文件的第41行
的/etc/udev/rules.d/70-persistent-net.rules这个文件获取权限失败
不管那么多,也不知道为什么
先把S26udev-post文件下载下来看看
运行进入/etc/rc3.d/目录命令
cd /etc/rc3.d/
运行查询目录、文件命令
ls

运行下载S26udev-post命令
sz S26udev-post

卧槽
sz: cannot open S26udev-post: No such file or directory
Can’t open any requested files.
SZ:无法打开S26UDEV POST:没有这样的文件或目录
无法打开任何请求的文件。
是权限不够,还是要root权限呢?
既然不能下载,那不会是个目录呢
运行cd命令进入/etc/rc3.d/S26udev-post目录
cd /etc/rc3.d/S26udev-post

-bash: cd: /etc/rc3.d/S26udev-post:Not a directory
位于/etc/rc3.d/里的S26udev-post文件,不是目录
那咋弄?
只能通过命令来修改了
Adding udev persistent rules/etc/rc3.d/S26udev-post: line 41: /etc/udev/rules.d/70-persistent-net.rules: Permission denied [failed]
/etc/udev/rules.d/70-persistent-net.rules: Permission denied [failed]
说70-persistent-net.rules这个文件没有权限
没有什么权限?root?
试一下,给它root权限
运行命令
chown root:root /etc/udev/rules.d/70-persistent-net.rules

changing ownership of
operation not permitted
意思是说:不允许改变所有权
执行cd命令进入到/etc/udev/rules.d/目录
cd /etc/udev/rules.d/

然后备份70-persistent-net.rules文件(如果改错了,可以用备份文件恢复)
cp 70-persistent-net.rules 70-persistent-net.rules_bak
回车键入ls查看目录
ls

已经有了70-persistent-net.rules的备份文件70-persistent-net.rules_bak
打开 70-persistent-net.rules文件
vi 70-persistent-net.rules

回车后

readonly 1L 1C
什么都看不见,据说是因为其中包含非asc的字符,被vi认为二进制文件,所以始终用readonly模式打开
vi后输入
太复杂了,直接联系服务器供应商,提交工单让供应商帮忙处理吧(2018年9月7日17:09:43)
主要还是网上找不到有用的信息
:set noreadonly
就可以解决了
Adding udev persistent rules/etc/rc3.d/S26udev-post: line 41:
查看S26udev-post文件权限
ls -l S26udev-post

这里的权限是最高权限777
但是所属群组是www,不是root
给它所属群组www改成root
chown root:root S26udev-post

再来看下
ls -l S26udev-post

结果发现还是www
chown root:root S26udev-post
ls -l S26udev-post

惹火了,把整个目录里面的文件的权限全改成最高权限
chown root:root -R /etc/rc3.d/
(这里的截图好像有问题)

键入命令
vi S26udev-post

回车后显示编辑界面

键入命令:set number在命令模式下,用于在最左端显示行号
:set number

回车后

这样就显示代码行的序号

Adding udev persistent rules/etc/rc3.d/S26udev-post: line 41:
这里说第41行,需要添加可持续性的udev规则
我不知道怎么添加
我就看看第41行张啥样
翻页按键
Ctrl+u:向文件首翻半屏; Ctrl+d:向文件尾翻半屏; Ctrl+f:向文件尾翻一屏; Ctrl+b:向文件首翻一屏;

41 cat $file >> /etc/udev/rules.d/$dest
搞不懂,网上了解了下udev,这个非常重要,udev是管理设备的一个管理工具,弄乱了比较麻烦,不懂就不要乱弄了。
退出操作
键入
:q!
如果不能键入,先按一下键盘Esc建

在vi编辑器里面:q! 的意思就是不保存,直接退出的意思
现在去看看rules.d这个文件的权限是啥
ls -l /etc/udev/rules.d

看来多半是70-persistent-net.rules这个文件的权限不够的缘故吧
那就给它最高777权限
chmod -R 777 70-persistent-net.rules

chmod: cannot access ’70-persistent-net.rules’: No such file or directory
意思是目录里面没有70-persistent-net.rules这个文件,忘记加路径了
chmod -R 777 /etc/udev/rules.d/70-persistent-net.rules

chmod: changing permissions fo ‘/etc/udev/rules.d/70-persistent-net.rules’;Oper ation not permitted
意思就是说:更改70-persistent-net.rules这个文件的权限是不被允许的
接下来就要解决Oper ation not permitted这个问题
原以为root用户是最高权限用户,可以为所欲为,结果发现却不是
chattr是用来更改文件属性
lsattr可用来查看文件的属性
先进入/etc/udev/rules.d/目录
   

执行命令
lsattr 70-persistent-net.rules
回车后便可以看到当前文件的属性

据说,有i属性的文件是不能修改的,更不可删除,root用户也不可以
去掉i属性怎么操作呢?
去除i属性:chattr -i 70-persistent-net.rules
添加i属性:chattr +i 70-persistent-net.rules
执行命令去掉i属性
chattr -i 70-persistent-net.rules
回车后
执行命令查看该文件属性
lsattr 70-persistent-net.rules

这时发现文件没有i属性了
然后给它赋予777最高权限
先来看下70-persistent-net.rules的权限
运行命令
ls -l

运行命令赋予70-persistent-net.rules最高777权限
chmod 777 70-persistent-net.rules

运行命令查看70-persistent-net.rules的权限
ls -l

现在是777最高权限,了,重启一下看看是否还提示权限不够
运行命令 立刻重启(root用户使用)
shutdown -r now

回车重启后

卧槽,真的不敢相信
Adding udev persistent rules [ok]
不过,但是
网站还是不能访问
shell还是不能连接
FTP仍旧不能连接
FFFFFFFFFFFF
—–F!U!C!K!—–
那这是为什么呢?
先把70-persistent-net.rules的i属性添加回去
先进入/etc/udev/rules.d/目录

恢复i属性前,先看看属性
lsattr 70-persistent-net.rules

这里是没有i属性的
执行命令添加i属性
chattr +i 70-persistent-net.rules
回车后再运行查看文件属性命令
lsattr 70-persistent-net.rules

好了,改回去了
再重启一下
shutdown -r now
重启后还是无法打开网页,也无法连接shell也无法FTP
咋弄?
据说有可能是sshd服务没有打开,或者是防火墙的问题
启动sshd服务
/etc/init.d/sshd start
关闭防火墙
/etc/init.d/iptables stop

Setting chains to policy ACCEPT :filter
Flushing firewall rules
Unloading modules
还是无法连接,也无法访问呢
后来问了服务器供应商,原来是IP被网络接入商过滤拦截了(被墙了)
通过代理访问,还真的能访问
接下来就是给服务器换IP了
2018年9月8日14:28:32

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址