微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

CentOS系统配置.ssh遇到port 22-No route to host问题的解决方法

linux aide_941 37℃

CentOS系统配置.ssh遇到port 22-No route to host问题的解决方法

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oba_gaga/article/details/80684051

两台虚拟机想要ping通的话,一定要同时开机。由于刚刚接触Linux还是个小白,并不太了解,所以就因为这个原因,耽误了一段时间。如果都开机了还出现问题的话,可以看一下本文。

一网络问题

可能是因为网络ping不通导致的
可以先ping 一下虚拟机,如果lost connection,无法连接,或 可以连接但是package 传送时 100% loss, 那就是网络有问题

1.修改hosts文件
vi /etc/hosts
添加 本机和要连接的虚拟机的ip地址 和主机名
例如
192.168.254.128 HadoopMaster
192.168.254.129 HadoopSlave1

2.如果还无法ping通,关闭虚拟机的防火墙
永久生效
chkconfig iptables on(开启)
chkconfig iptables off(关闭)

3.如果还无法ping通进入物理机 网络和共享面板, 配置VMWare Network Adapter VMnet8,如图所示:
这里写图片描述

这里写图片描述

这里写图片描述

二 iptables 问题

1.没有安装,可以先安装
yum install iptables

2.防火墙的开启与关闭
即时生效,重启失效
service iptables start(开启)
service iptables stop(关闭)
service iptables restart(重启)
永久生效
chkconfig iptables on(开启)
chkconfig iptables off(关闭)

查看防火墙运行状态
service iptables status

3.清除防火墙规则
iptables -F
iptables -X
iptables -Z
iptables -t NAT -F

4.开放端口22
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT

5保存设置
/etc/rc.d/init.d/iptables save

service iptables restart(重启一下)

iptables操作最后都记得要执行一下此步骤(如3, 4)

6 查看防火墙规则
iptables -nL

7 直接向防火墙文件中添加规则
vi /etc/iptables.test.rules

iptables-restore < /etc/iptables.test.rules(改完后先加载规则)
iptables-save > /etc/iptables.rules(保存规则)

三SSH问题

1 ssh运行状态
service sshd status

如果出现
Loaded: error (Reason: No such file or directory)
说明ssh没有安装
检查是否装了ssh包
rpm -qa|grep ssh
没有的话
yum install openssh-server
或者
yum install sshd
(卸载ssh服务)yum remove sshd

如果出现
openssh-daemon is stopped
说明安装了ssh但是没有开启
即时生效,重启失效
service sshd start
service sshd stop
永久生效
chkconfig sshd on
chkconfig sshd off

2修改ssh默认端口22(本例改为3547)
vi /etc/sysconfig/iptables
加入
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3547 -j ACCEPT
重启防火墙
/etc/init.d/iptables restart
修改防火墙文件
vi /etc/sysconfig/iptables
加入语句
-A RH-Firewall-1-INPUT -m state –state NEW -p tcp -m tcp –dport 25 –syn -j ACCEPT

开启3547端口
vi /etc/ssh/sshd_config
找到 #port 22
去掉#,并在下面加入 port 3547
重启SSH服务 /etc/init.d/sshd restart

(可选)根据你的ssh状况屏蔽22端口
vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
前面加上#注释掉此语句
记得重启防火墙

安装semanage
yum -y install policycoreutils-python
开放指定端口
semanage port -a -t ssh_port_t -p tcp 3547
重启ssh服务
/etc/init.d/sshd restart
查看端口情况
semanage port -l|grep ssh
应该能看到
ssh_port_t tcp 3547, 22

3查看端口状态
查看端口是否被占用
netstat -antulp|grep ssh
或者直接
netstat -anp |grep 3547
如果被占用查看占用程序详细信息
ps 2621(LISTEN后面的数字)
终止占用
kill -9 2621

测试是否能本机联通
ssh localhost -p 3547

转载请注明:SuperIT » CentOS系统配置.ssh遇到port 22-No route to host问题的解决方法

喜欢 (1)or分享 (0)