zoukankan      html  css  js  c++  java
  • Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)

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

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


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

    1.1 为什么要远程连接Linux系统

    屏幕快照 2016-12-25 下午10.04.28.png-633.3kB
    在实际的工作场景中,虚拟机界面或物理服务器本地的窗口都是很少能够接触到的,因为服务器装完系统后,都要拉到IDC机房托管,如果是购买了云主机,更碰不到服务器本地显示器了,此时,只能通过远程连接的方式管理Linux系统。因此,在装好linux系统后,学习Linux运维的第一步应该是配置好客户端软件远程(通过ssh软件进行连接)连接Linux系统进行管理。
    屏幕快照 2016-12-25 下午10.07.42.png-2022.9kB

    第2章 连接前的小知识

    2.1 IP地址

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

    2.2 端口的简单概念

    老师的机器ip 192.168.11.211
    192.168.11.211代表一台主机,但是主机上可能会有很多服务。一台主机上的不同服务功能,就是通过端口区分,然后让外部人员访问。

    2.3 协议的简单概念

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

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

    屏幕快照 2016-12-25 下午10.27.30.png-835kB

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

    (由于我是用mac来写文档,没法实际截图xsehll这个windows工具的使用,但这个工具真的是非常简单,请同学们自行脑补)

    3.1 ssh连接示意

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

    屏幕快照 2016-12-26 下午10.02.37.png-343.3kB

    3.2 远程连接五要素

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

    3.3 如何查看IP地址

    • ifconfig(ip a)

    QQ20161226-230633@2x.png-76.4kB

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

    注意
    假如你发现你的虚拟机没有IP地址的话,那么也许你的网卡设备处于关闭状态
    QQ20161226-232602@2x.png-44.5kB
    通过命令:ifup + 网卡名(ethx) 可以开启设备
    通过命令:ifconfig +网卡名(ethx)+ up 也可以开启设备
    QQ20161226-233622@2x.png-156.2kB

    讨论

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

    • 第一步:我们删掉eth1网卡的配置文件
      QQ20161226-233915@2x.png-27.6kB

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

    • 第二步,我们关闭eth1这个网卡设备
      QQ20161226-234211@2x.png-72.8kB
    • 第三步,我们尝试开启这个设备
      QQ20161226-234407@2x.png-68.2kB

    继续讨论

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

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

    3.4 xshell 远程连接的基本原理

    • 我们在前几节中提到过,sshd这个服务,实际上是服务器的一个守护进程。
    • 正是因为存在这个守护进程,因此服务器的22端口才会持续不断的被监听(监视)
    • 当xshell通过ssh协议访问服务器的22端口的时候,服务器的sshd服务才会马上回应这个访问,因此才能进行远程连接
    • 故,当服务器不存在sshd(把进程kill掉)这个服务时,xshell是无法通过ssh协议进行远程访问的。
      QQ20161227-000537@2x.png-29.7kB

    如果服务器端sshd服务被未运行,那么所有通过ssh协议的访问都将失败(包含xshell)
    屏幕快照 2016-12-27 上午12.07.48.png-287kB
    这是一个mac的控制台的连接图通过ssh访问失败,(xshell连接的请自行尝试。)

    • 当sshd这个服务监听的不再是22端口时(通过配置文件可以改),xshell必须切换到它监听的端口进行访问才能正确连接。
      QQ20161227-001520@2x.png-60.6kB

    小结

    • ifconfig + 网卡名:可以查看开启状态的网卡的IP地址(看不到关闭状态的网卡设备)
    • ip a:可以查看所有网卡的IP地址(还能看到关闭状态的网卡)
    • ip link:可以查看所有网卡的物理状态
    • ifup/ifdown + 网卡名:通过网卡配置文件来开启和关闭网卡设备
    • ifconfig 网卡名 up/down:直接关闭和开启网卡设备。
    • 通过kill + Pid号 或者pkill + 服务名称 来杀掉进程
      QQ20161227-002320@2x.png-123.1kB
      sshd服务的配置文件路径:/etc/ssh/sshd_config
      网卡的配置文件路径:/etc/sysconfig/network-scripts/ifcfg-网卡名
      netstat -antup或ps -ef :可以用来查看当前服务器开启的所有服务

    3.5 故障排查

    1,两个机器之间物理网络是否通畅(网线网卡,IP是否正确)
    ping -t 192.168.xx.xx ====>物理网络是否通畅
    QQ20161227-003442@2x.png-981.4kB
    2,防火墙或selinux是否处于开启状态
    QQ20161227-003728@2x.png-77.5kB

    QQ20161227-004303@2x.png-270.2kB

    直接通过sed -i 操作文件永久关闭selinux(下图的enable应该是enabled
    QQ20161227-004641@2x.png-257.5kB

    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端口

  • 相关阅读:
    70.BOM
    69.捕获错误try catch
    68.键盘事件
    523. Continuous Subarray Sum
    901. Online Stock Span
    547. Friend Circles
    162. Find Peak Element
    1008. Construct Binary Search Tree from Preorder Traversal
    889. Construct Binary Tree from Preorder and Postorder Traversal
    106. Construct Binary Tree from Inorder and Postorder Traversal
  • 原文地址:https://www.cnblogs.com/chensiqiqi/p/6224474.html
Copyright © 2011-2022 走看看