[Linux] ssh远程访问及控制

news2024/11/20 12:17:55

一、ssh介绍

1.1 SSH简介

SSH(Secure Shell)是一种安全通道协议,主要用于实现远程登录、远程复制等功能的字符接口。SSH 协议包括用户在登录时输入的用户密码、双方之间的通信。 加密数据传输,SSH 是一种建立在应用层和传输层上的安全协议。SSH 是一种建立在应用层和传输层上的安全协议。数据经过压缩,以提高传输速度。

SSH 启用的端口为:TCP22号端口

1.2 SSH的优势

SSH 是一种可靠的协议,旨在为远程登录会话和其他网络服务提供安全保障。正确使用 ssh 可以弥补网络漏洞。除 ssh 程序外,客户端还包括 scp(远程复制)、slogin(远程登录)和 sftp(安全文件传输)等应用程序。

        数据传输是加密的,可以防止信息泄漏

        数据传输是压缩的,可以提高传输速度

1.3 常用的SSH软件的介绍 

 SSH客户端:putty(开源工具),xshell,CRT

SSH服务端:openSSH(centos7系统默认安装)

centos7  ssh服务启动自检命令:  systemctl is-enabled    sshd

1.4 sshd_ config常用选项设置

 1 vim /etc/ssh/sshd_config            #服务端配置文件
 2 #Port 22                            #监端口为22
 3 #AddressFamily any                  #监听地址为任意网卡,也可以指定Openssh服务器的具体ip
 4 #LoginGraceTime 2m                  #登录验证时间为2分钟
 5 #PermitRootLogin yes                #禁止root用户登录
 6 #MaxAuthTries 6                     #最大重试次数为 6
 7 #PermitEmptyPasswords no            #禁止空密码用户登录
 8 #UseDNS no                          #禁用DNS反向解析,以提高服务器的响应速度
 9 ----------------------------------------------------------------------------------
10 配置允许和禁止用户登录:加@表示限制ip,注意允许和禁止不要同时使用!!
11 AllowUsers zhangsan                 #允许zhangsan登录(多个用户以空格间隔)
12 AllowUsers zhangsan@192.168.80.80   #只允许zhangsan通过192.168.80.80登录
13 DenyUsers lisi                      #禁止lisi登录

1.5 SSH端口、配置文件

        sshd服务默认使用TCP的22端口。

        sshd服务的默认配置文件是==/etc/ssh/sshd_config==。

        ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件/etc/ssh/ssh_config,后者则是针对服端的配置文件/etc/ssh/sshd_config

[root@CXK ~]# netstat -lntp  #查看服务使用的端口号


tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1074/sshd           
     3052/sshd: root@pts 
[root@clr ~]# ss -lntp
(("dnsmasq",pid=1457,fd=6))
LISTEN     0      128                   *:22                                *:*                   users:(("sshd",pid=1074,fd=3))
LISTEN     0      128           127.0.0.1:631                               *:*                   users:

1.6 SSH的密钥登录

密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。而ssh密钥就是一种非对称性的密钥。 

 ssh 远程访问控制中不仅仅可以使用用户密码登录,还可以通过 密钥进行登录。而密钥登录的产生是通过客户端与服务端进行一系列的操作过程产生的。

 密钥登录的过程:

1. ssh客户端通过ssh-keygen生成自己的公钥和私钥,将公钥发送给ssh服务端,并且放在指定的位置。

 2.公钥发送完毕后。ssh客户端再向ssh 服务端进行登录请求。

3.ssh服务端收到ssh客户端的登录请求后,ssh服务端用对应的公钥加密一些随机数返回给ssh客户端。

4.ssh客户端收加密的随机数后使用私钥对其进行解密,再将解密的结果发送给ssh服务端进行验证。

5. ssh服务端接收到ssh客户端发送过来的解密数据,将其与原数据进行比对,保持一致则允许用户进行登录

二、SSH的应用

2.1 SSH配置文件信息

在Linux中实现ssh,是通过openSSH的sshd服务提供的。

2.1.1存放ssh服务端的配置文件

/etc/ssh/sshd_config

vim /etc/ssh/sshd_config
 
常用选项配置
 
#Port 22
#ListenAddress 0.0.0.0

常用配置项: 

#LoginGraceTime 2m         登录验证时间为两分钟
#PermitRootLogin yes       允许root用户登录(安全考虑,这里可以设置为no,禁止root用户登录)
 
#MaxAuthTries 6             最大重试的次数为6
PasswordAuthentication yes   允许空密码用户登录
UseDNS  no                   禁止DNS反向解析,提高服务器的响应速度
2.1.2 存放ssh客户端的配置文件

 /etc/ssh/ssh_config   (该配置基本默认保持不变,就可以了)

2.2  ssh在Linux中的密码登录

 ssh [远程主机用户名]@[远程服务器主机名或IP地址] [-p port]

[root@CXK ~]# ssh 192.168.136.110
 
exit  退出当前用户

[root@CXK~]# ssh -p 22  Chen@192.168.136.100

2.3  利用ssh协议传输文件和获取文件

 ssh scp sftp 都是默认使用ssh协议,端口为 tcp 22

 2.4 修改默认端口

#修改默认端口
[root CXK1 ~] vim  /etc/ssh/sshd_config
#17 行修改自己默认的端口
17 Port 2272

2.4 禁止root用户登录  

[root CXK1 ~] vim  /etc/ssh/sshd_config
#开启38 行 并改为 no,默认注释并写的yes
38 PermitRootLogin no
#注意虽然阻止了root 但是普通用户可以使用su

2.5 白名单黑名单列表  

[root IKUN2 ~] vim /etc/ssh/sshd_config
AllowUsers   Chen@192.168.136.110  lisi  #允许所有有的主机访问我的lisi用户
#只允许Chen从192.168.136.110上访问

vim /etc/ssh/sshd_config
DenyUsers  ww

三、SSH通过密钥免密登录 

第一步:首先在客户端生成密钥

第二步:把密钥文件复制给另一个客户端

[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub
[root@localhost .ssh]# ssh-copy-id -i id_rsa.pub  192.168.136.110
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
The authenticity of host '192.168.136.110 (192.168.136.110)' can't be established.
ECDSA key fingerprint is SHA256:3HPTJDS6kShhYh+uHMJZlxYBdgwW1iDZfo1ogM6zo64.
ECDSA key fingerprint is MD5:6a:89:27:b4:4f:23:9c:76:07:a0:91:d3:7b:42:dd:5a.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.136.110's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.136.110'"
and check to make sure that only the key(s) you wanted were added.

[root@localhost .ssh]# ssh 192.168.136.110
Last login: Wed Nov 15 00:46:47 2023 from 192.168.136.66
[root CXK ~] 

第三步:在令一台(或者多台) 客户端同样操作

66那台主机不知怎么回事设置不了这里用的是110和120两台,操作是一样的

第四步:验证结果 

110主机

120主机

总结: 

1. 熟悉 ssh 密钥生成过程,对 ssh 访问进行加密,以符合更安全的远程控制标准;

2. 部署新服务器后,取消 root 用户的远程访问权限,以提高安全性。

3. 使用 ssh 中更有效的传输获取功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1210171.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

<MySQL> 查询数据进阶操作 -- 聚合查询

目录 一、聚合查询概述 二、聚合函数查询 2.1 常用函数 2.2 使用函数演示 2.3 聚合函数参数为*或列名的查询区别 2.4 字符串不能参与数学运算 2.5 具有误导性的结果集 三、分组查询 group by 四、分组后条件表达式查询 五、MySQL 中各个关键字的执行顺序 一、聚合查询…

【2013年数据结构真题】

highlight: a11y-dark 41题 王道解析: 算法的策略是从前向后扫描数组元素,标记出一个可能成为主元素的元素Num 。然后重新计数,确认Num是否是主元素。算法可分为以下两步: 选取候选的主元素:依次扫描所给数组中的每个…

【数据结构 | 链表】leetcode 2. 两数相加

个人主页:兜里游客棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里游客棉花糖 原创 收录于专栏【LeetCode】 原题链接:点击直接跳转到该题目 目录 题目描述解题代码 题目描述 给你两个 非空 的链表,表示两个非…

降低城市内涝风险,万宾科技内涝积水监测仪的作用

频繁的内涝会削弱和损坏城市的关键基础设施,包括道路、桥梁和公用设施。城市内涝风险降低可以减少交通中断事件,也可以保护居民安全并降低路面维修等成本,进一步确保城市基本服务继续发挥作用。对城市可持续发展来讲有效减少内涝的风险是重要…

ESP32网络开发实例-将DS18B20传感器读数发送到InfluxDB

将DS18B20传感器读数发送到InfluxDB 文章目录 将DS18B20传感器读数发送到InfluxDB1、InfluxDB、DS18B20介绍2、软件准备3、硬件准备4、代码实现在本文中,我们将介绍如何将 DS18B20传感器读数发送到 InfluxDB 时间序列数据库。 使用 InfluxDB 数据库的一大特点是可以在确定的时…

python 爬虫之requests 库以及相关函数的详细介绍

get 函数 当你使用 requests.get 函数时,你可以按照以下步骤来发起一个 GET 请求: 导入 requests 模块: 在你的 Python 脚本或程序中,首先导入 requests 模块。 import requests指定目标 URL: 设置你要请求的目标 URL…

4路光栅尺磁栅尺编码器解码转换5MHz高速差分信号转Modbus TCP网络模块 YL97-RJ45

特点: ● 光栅尺磁栅尺解码转换成标准Modbus TCP协议 ● 光栅尺5V差分信号直接输入,4倍频计数 ● 模块可以输出5V的电源给光栅尺供电 ● 高速光栅尺磁栅尺计数,频率可达5MHz ● 支持4个光栅尺同时计数,可识别正反转 ● 可网…

啊?印第安碳纤维限量款?复古与性能的结合吗Indian FTR x 100% R Carbon

印第安作为美国的老牌摩托车厂大家都不陌生了,和哈雷有一点比较大的区别是印第安的车还是考虑马力性能的,也是敢于标出自己的马力参数数据,就比如印第安的FTR系列。 以泥地赛道为灵感设计的印第安FTR运动街车发布了最新的限量联名款车型&…

spring cloud alibaba 简介

微服务搭建组件选型 1.服务注册中心 Nacos(spring-cloud-alibaba) 2.服务通信 OpenFeign(spring-cloud) 3.服务熔断、降级、限流 Sentinel(spring-cloud-alibaba) 4.网关 Gateway(spring-cloud) 5.服务配置中心 …

ARM64 linux并发与同步之经典自旋锁

1.3 经典自旋锁 在实际项目中临界区数据有可能会修改一个数据结构或者链表中的数据,在整个过程中要保证原子性,才不会影响数据的有效性,这个过程使用原子变量不合适,需要使用锁机制来完成,自旋锁(spinlock&…

深度学习实战59-NLP最核心的模型:transformer的搭建与训练过程详解,手把手搭建与跑通

大家好,我是微学AI,今天给大家介绍一下深度学习实战59-NLP最核心的模型:transformer的搭建与训练过程详解,手把手搭建与跑通。transformer是一种基于自注意力机制的深度学习模型,由Vaswani等人在2017年的论文《Attention is All You Need》中提出。它最初被设计用来处理序…

香港科技大学广州|机器人与自主系统学域博士招生宣讲会—电子科技大学专场!!!(暨全额奖学金政策)

在机器人和自主系统领域实现全球卓越—机器人与自主系统学域 硬核科研实验室,浓厚创新产学研氛围! 教授亲临现场,面对面答疑解惑助攻申请! 一经录取,享全额奖学金1.5万/月! 🕙时间:…

防爆五参数气象仪的科技力量

WX-FBQ2 随着科技的不断进步,气象监测设备也在不断升级和完善。 防爆五参数气象仪是一种可以同时监测温度、湿度、压力、风速和风向五个基本气象参数的仪器。它采用了气象监测技术,不仅可以实时监测气象数据,还可以对数据进行分析和处理。 …

git使用patch进行补丁操作

文章目录 前言一、format-patch/am生成和应用补丁1、生成2、应用 二、patch文件解读 前言 在软件开发中,代码协作和版本管理是至关重要的。Git 是一个流行的分布式版本控制系统,它提供了各种功能来简化团队合作和代码管理。但是如何给已有项目打补丁&am…

基于单片机的智能考勤机(论文+源码)

1.系统设计 本课题为基于单片机的智能考勤机,其整个系统由STC89C52单片机,RC522 RFID模块,LCD液晶,按键等构成,在功能上,本系统智能考勤机主要应用在校园生活中,用户可以通过按键注销/注销相应的…

Skywalking流程分析_4(插件的加载和不同版本的识别)

插件的结构 之前我们介绍了插件的加载,接下来就是真正开始进行插件的执行了,首先要看下插件的结构是怎么样的,以阿里的druid数据源为例 skywalking-plugin.def: druid-1.xorg.apache.skywalking.apm.plugin.druid.v1.define.DruidPooledCo…

二进制原码、反码、补码、移码

机器数:一个数在计算机中的二进制表示形式,称为这个数的机器数。符号位:机器数是带符号的,在计算机中用最高位作为符号位,0为正数,1为负数。真值:机器数由于含有符号位,所以机器数的…

基于群居蜘蛛算法优化概率神经网络PNN的分类预测 - 附代码

基于群居蜘蛛算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于群居蜘蛛算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于群居蜘蛛优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

完整版指南:企业网络中的VXLAN-BGP-EVPN

随着互联网的发展,数据中心的数量和规模呈爆炸性增长趋势。数据中心业务不断增加,用户需求不断提高。随之而来的问题是数据中心的功能变得越来越复杂,运维管理变得越来越困难。VXLAN-BGP-EVPN的出现为企业网络带来了无限的可能性。 什么是VX…

中科驭数荣获北京市科学技术进步奖二等奖

近日,北京市人民政府发布京政发〔2023〕23号公告,2022年度北京市科学技术奖授奖清单揭晓,中国科学院计算技术研究所、北京控制工程研究所、中科驭数(北京)科技有限公司等产学研单位提报的“领域专用处理器关键技术及应…