(转)远程SSH连接服务与基本排错
远程SSH连接服务与基本排错
原文:https://www.cnblogs.com/chensiqiqi/p/6224474.html#top
1.1 为什么要远程连接Linux系统

在实际的工作场景中,虚拟机界面或物理服务器本地的窗口都是很少能够接触到的,因为服务器装完系统后,都要拉到IDC机房托管,如果是购买了云主机,更碰不到服务器本地显示器了,此时,只能通过远程连接的方式管理Linux系统。因此,在装好linux系统后,学习Linux运维的第一步应该是配置好客户端软件远程(通过ssh软件进行连接)连接Linux系统进行管理。
第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远程连接故障排查示例

- telnet连接服务器是明文的,非加密的
- SSH连接服务器是加密的连接
(由于我是用mac来写文档,没法实际截图xsehll这个windows工具的使用,但这个工具真的是非常简单,请同学们自行脑补)
3.1 ssh连接示意
- 服务器端===>通过ssh协议提供===>sshd服务====>监听22端口(不断的监听是否有人需要服务)
- 客户端(客户):ssh协议,ip地址,端口号(需要什么服务),用户名,密码

3.2 远程连接五要素
- 协议:SSH(加密),telnet(未加密)
- IP:对方的IP地址
- 端口:默认22端口
- 用户名:
- 密码:
3.3 如何查看IP地址
- ifconfig(ip a)

可以通过这两个命令来查看IP地址
ip地址/24:代表子网掩码255.255.255.0
lo:回环网卡:用于检测设备自测
eth0:你的第一块网卡
eth1:你的第二块网卡
注意
假如你发现你的虚拟机没有IP地址的话,那么也许你的网卡设备处于关闭状态
通过命令:ifup + 网卡名(ethx) 可以开启设备
通过命令:ifconfig +网卡名(ethx)+ up 也可以开启设备
讨论
既然这两个命令都能开启成功,那么它们到底有没有区别呢?请跟随我来做个实验。
- 第一步:我们删掉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端口
(转)远程SSH连接服务与基本排错的更多相关文章
- Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)
第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...
- 远程SSH连接服务与基本排错
为什么要远程连接Linux系统?? 在实际的工作场景中,虚拟机界面或物理服务器本地的窗口都是很少能够接触到的,因为服务器装完系统后,都要拉到IDC机房托管,如果是购买了云主机,更碰不到服务器本地显示器 ...
- Linux实战教学笔记05:远程SSH连接服务与基本排错
第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理服务器本地的窗口都是很少能够接触到的,因为服务器装完系统后,都要拉到IDC机房托管,如果 ...
- Linux优化远程SSH连接
优化远程SSH连接 1.Linxu和Window的ssh连接区别 Windom默认3389端口,管理员administartor 普通是guest Linux 默认22端口 管理员root 普通一堆 ...
- 关于Ubuntu远程ssh连接失败的问题
在做机器人项目的时候,用的是Ubuntu的linux,跟之前的CentOS的操作命令有一点差别,就比如防火墙的名字,在Ubuntu系统中叫什么ufw,真是有点不好接受. 为了能模拟环境,我又弄了一台电 ...
- 不能ssh连接ubuntu linux 服务器 secureCRT不能ssh连接服务器 不能远程ssh连接虚拟机的ubuntu linux
我是用的是secureCRT,远程连接我的虚拟机里面的ubuntu 直接报错,连接不上 1,先分别在windows上ipconfig和ubuntu上ifconfig下 互ping一下,是可以ping通 ...
- 【Linux利用远程SSH连接】SecureCRT中文出现乱码解决办法 Linux服务器技术
1. 修改远程linux机器的配置 vim /etc/sysconfig/i18n 把LANG改成支持UTF-8的字符集 如: LANG="zh_CN.UTF-8″ 或者 ...
- mac下让iterm2记住远程ssh连接
brew安装sshpass brew install http://git.io/sshpass.rb 在根目录下建立passowrd目录用来管理密码,vim testserver 输入明文密码,保存 ...
- JAVA实现远程SSH连接linux并运行命令
博客转移到http://blog.codeconch.com
随机推荐
- 设计模式02: Abstract Factory 抽象工厂(创建型模式)
Abstract Factory 抽象工厂(创建型模式) 常见的对象创建方法: //创建一个Road对象 Road road=new Road(); new的问题: -实现依赖 ...
- 学习React中遇到的问题
1.执行eject后,再次启动项目报错 情景:使用create-react-app搭建了项目,启动没有问题,然后执行 $ yarn eject 暴露出webpack配置文件等,再次 $ yarn st ...
- springcloud 实现微服务间调用
package com.idoipo.ibt.config; import org.apache.http.HttpException; import org.apache.http.HttpRequ ...
- android 透明弹出搜索框
1.在QQ一些APP当中有是弹出一个半透明的搜索框的,其实这种效果就是很多种方法,自定义一个Dialog,或者直接将activity的背景变成半透明的也可以的. 下面就是将activity变成半透明的 ...
- C# web通信解决方案
1.Socket 2.Socket and websocket(HTML5) 3.SignalR 一,简介 Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket ...
- EF 完成指定数据迁移
Update-Database -ConfigurationTypeName Bmw.Services.DealerService.WebApiHost.MigrationsOfDealerDB.De ...
- Google Earth 8.0
前几天有看到全新的Google Earth 8.0升级,刚好适合自己的手机应用.Google Earth 8.0 官方下载:https://play.google.com/store/apps/det ...
- 多线程《八》线程queue
一 线程queue queue is especially useful in threaded programming when information must be exchanged safe ...
- Python 集合set()添加删除、交集、并集、集合操作详解
集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...
- IP地址和子网划分
前期知识准备 二进制 和十进制 二进制数据是用0和1表示的数,进位规则为缝二进1, 二进制和十进制的关系 二进 十进 0 1 10 2 100 4 1000 8 10000 16 10000 ...


