Linux实战教学笔记05:远程SSH链接服务与基本排错(新手扫盲篇)

第五节 远程SSH链接服务与基本排错

标签(空格分隔):Linux实战教学笔记-陈思齐linux


第1章 远程链接LInux系统管理

1.1 为何要远程链接Linux系统

在实际的工做场景中,虚拟机界面或物理服务器本地的窗口都是不多可以接触到的,由于服务器装完系统后,都要拉到IDC机房托管,若是是购买了云主机,更碰不到服务器本地显示器了,此时,只能经过远程链接的方式管理Linux系统。所以,在装好linux系统后,学习Linux运维的第一步应该是配置好客户端软件远程(经过ssh软件进行链接)链接Linux系统进行管理。
shell

第2章 链接前的小知识

2.1 IP地址

互联网上的计算机都会有一个惟一的32位的地址,咱们访问服务器,就必须经过这个IP地址。局域网里也有预留的IP地址192.10.172开头,局域网的IP地址也是惟一。NAT模式,电脑宿主机的ip在局域网是惟一的,选择了NAT模式建立虚拟机,虚拟机就是一个新的局域网(私有网络)windows

2.2 端口的简单概念

老师的机器ip 192.168.11.211
192.168.11.211表明一台主机,可是主机上可能会有不少服务。一台主机上的不一样服务功能,就是经过端口区分,而后让外部人员访问。服务器

2.3 协议的简单概念

汉语,英语,法语,不一样的服务提供了不一样的端口,对应了不一样的功能,通讯方式可能也是不一样的,这种通讯的方式咱们就能够理解为协议。
一台主机上的不一样服务功能,就是经过端口区分,不一样的服务端口,客户端和服务器之间通讯,就能够使用不一样的协议markdown

第3章 SSH远程链接故障排查示例

  • telnet链接服务器是明文的,非加密的
  • SSH链接服务器是加密的链接

(因为我是用mac来写文档,无法实际截图xsehll这个windows工具的使用,但这个工具真的是很是简单,请同窗们自行脑补)网络

3.1 ssh链接示意

  • 服务器端===>经过ssh协议提供===>sshd服务====>监听22端口(不断的监听是否有人须要服务)
  • 客户端(客户):ssh协议,ip地址,端口号(须要什么服务),用户名,密码

3.2 远程链接五要素

  1. 协议:SSH(加密),telnet(未加密)
  2. IP:对方的IP地址
  3. 端口:默认22端口
  4. 用户名:
  5. 密码:

3.3 如何查看IP地址

  • ifconfig(ip a)

能够经过这两个命令来查看IP地址
ip地址/24:表明子网掩码255.255.255.0
lo:回环网卡:用于检测设备自测
eth0:你的第一块网卡
eth1:你的第二块网卡运维

注意
假如你发现你的虚拟机没有IP地址的话,那么也许你的网卡设备处于关闭状态
ssh

经过命令:ifup + 网卡名(ethx) 能够开启设备
经过命令:ifconfig +网卡名(ethx)+ up 也能够开启设备
工具

讨论post

既然这两个命令都能开启成功,那么它们到底有没有区别呢?请跟随我来作个实验。

  • 第一步:咱们删掉eth1网卡的配置文件

/etc/sysconfig/network-scripts/:这个路径是网卡配置文件的路径,做为运维人员咱们是必须熟记得

  • 第二步,咱们关闭eth1这个网卡设备
  • 第三步,咱们尝试开启这个设备

继续讨论

为何咱们的试验结果是这样的呢?当我删除了eth1这个网卡的配置文件,ifup这个命令就失灵了?

  • 这是由于,ifup/ifdown这个命令控制的实际上并非物理网卡的开启和关闭,而实际上他控制的仅仅是网卡的配置文件而已,它是经过网卡配置文件间接的操做网卡设备。
  • 而ifconfig xxxx up/down:则是控制物理网卡设备的开启和关闭,所以并不受配置文件的干扰。

3.4 xshell 远程链接的基本原理

  • 咱们在前几节中提到过,sshd这个服务,其实是服务器的一个守护进程。
  • 正是由于存在这个守护进程,所以服务器的22端口才会持续不断的被监听(监视)
  • 当xshell经过ssh协议访问服务器的22端口的时候,服务器的sshd服务才会立刻回应这个访问,所以才能进行远程链接
  • 故,当服务器不存在sshd(把进程kill掉)这个服务时,xshell是没法经过ssh协议进行远程访问的。

若是服务器端sshd服务被未运行,那么全部经过ssh协议的访问都将失败(包含xshell)

这是一个mac的控制台的链接图经过ssh访问失败,(xshell链接的请自行尝试。)

  • 当sshd这个服务监听的再也不是22端口时(经过配置文件能够改),xshell必须切换到它监听的端口进行访问才能正确链接。

小结

  • ifconfig + 网卡名:能够查看开启状态的网卡的IP地址(看不到关闭状态的网卡设备)
  • ip a:能够查看全部网卡的IP地址(还能看到关闭状态的网卡)
  • ip link:能够查看全部网卡的物理状态
  • ifup/ifdown + 网卡名:经过网卡配置文件来开启和关闭网卡设备
  • ifconfig 网卡名 up/down:直接关闭和开启网卡设备。
  • 经过kill + Pid号 或者pkill + 服务名称 来杀掉进程

    sshd服务的配置文件路径:/etc/ssh/sshd_config
    网卡的配置文件路径:/etc/sysconfig/network-scripts/ifcfg-网卡名
    netstat -antup或ps -ef :能够用来查看当前服务器开启的全部服务

3.5 故障排查

1,两个机器之间物理网络是否通畅(网线网卡,IP是否正确)
ping -t 192.168.xx.xx ====>物理网络是否通畅

2,防火墙或selinux是否处于开启状态

直接经过sed -i 操做文件永久关闭selinux(下图的enable应该是enabled

3,查看服务器的服务进程是否处于开启状态(sshd)

小结

  • 第一步:看看路是否是通的:
    ping 服务器:

排查客户端到服务器端线路问题,ping是经常使用的网络连通性检查工具(路通否)

tracert -d 服务器IP:跟踪路由器

路由跟踪命令,也能够检查路由是否通畅,-d 是不对域名进行解析

  • 第二步:去服务器端查看
    service iptables status
    /etc/init.d/iptalbes status

这两个命令均可以查看,等效。
linux防火墙iptables,可能好心办坏事,阻挡了远程链接,关掉防火墙,让道路畅通无阻

  • 第三步:SSH服务问题 telnet + IP地址:查看SSH 22 端口是否打开了(客户端执行) nmap + IP地址 + -p 22 :扫描服务器是否开启了22端口
相关文章
相关标签/搜索