- 跟老男孩学Linux运维:Web集群实战
- 老男孩
- 877字
- 2023-01-19 14:57:14
3.2.4 通过SSH工具连接Linux主机的常见问题
如果你的操作比较规范,且是在局域网内,那么一般情况下不会有连接问题;如果你的操作有疏漏之处,而且是广域网或拨号上网,那么就有可能存在一些问题。下面就与大家分享一下部分常见问题的产生原因及解决办法。
1.连接超时问题
如果完成上一节介绍的设置步骤后依然连接不上Linux主机,可能会出现连接超时的提示,如图3-8所示。
图3-7 正确登录系统后的窗口及命令行
图3-8 连接服务器超时提示
如果遇到这个问题,请检查Linux系统和客户端计算机端的网络连接是不是通畅的,最简单的方法就是在客户端计算机上ping一下Linux主机的IP。
ping的实际命令如下:
C:\Users\oldboy>ping 10.0.0.7正在Ping 10.0.0.7 具有 32 字节的数据:来自 10.0.0.100 的回复: 无法访问目标主机。来自 10.0.0.100 的回复: 无法访问目标主机。提示:这是不通的状态 C:\Users\oldboy>ping 10.0.0.7正在Ping 10.0.0.7 具有 32 字节的数据:来自 10.0.0.7 的回复: 字节=32 时间<1ms TTL=64来自 10.0.0.7 的回复: 字节=32 时间<1ms TTL=64提示:这是通的状态
如果未能连通Linux主机的IP,则可通过如下方法进行检查:
1)Linux主机本身是不是正确设置或获取到了IP,并且这个IP与客户端计算机的IP是不是在同一个网络里。
2)客户端计算机和Linux主机之间的22端口是不是被Linux系统的防火墙给阻挡了。关闭Linux防火墙的方法为:
[root@www ~]# /etc/init.d/iptables stop <==最好连续执行两遍
2.SSH端口问题
如果出现的是远程系统拒绝连接的提示(如图3-9所示),则要从SSH端口查找原因。
图3-9 由于端口问题导致的连接失败图
可从如下几个方面来查找原因。
1)sshd服务程序是否正确开启,确认的示例命令如下:
[root@www ~]# ps -ef|grep sshd|grep -v grep root 364 1 0 Oct06 00:00:00 /usr/sbin/sshd <==有这一行表示服务正常
2)sshd服务的默认端口22是不是被更改了,确认的示例命令如下:
[root@www ~]# netstat -lntup|grep sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 364/sshd tcp 0 0 :::22 :::* LISTEN 364/sshd提示:22为端口,如果被改就是其他数字了。
3)是否因开启了iptables防火墙而导致禁止连接,确认的示例代码如下:
[root@www ~]# /etc/init.d/iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] [root@www ~]# /etc/init.d/iptables stop
4)客户端SecureCRT是不是配错了连接的端口或IP。
如果你熟悉telnet命令,也可以在客户端计算机上执行telnet 10.0.0.7 22来检查连通性。SSH端口问题大体上都是由上述4类情况引起的,更多原因可以到网上搜索,或者加入本书前言提供的官方QQ群进行交流。