[Linux] ssh远程访问及控制

一、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.mfbz.cn/a/145800.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第06章 面向对象编程(基础)

一 面向对象编程概述 1.1 程序设计的思路 面向对象,是软件开发中的一类编程风格、开发范式。除了面向对象,还有面向过程、指令式编程和函数式编程。在所有的编程范式中,我们接触最多的还是面向过程和面向对象两种。 类比:史书类…

manim更新

manim升级18.0 # 1 更新pip,推荐轮子下载 python -m pip install --upgrade pip 推荐方式下载轮子安装 首先尝试在中断更新pip,通过命令python -m pip install --upgrade pip 可能遇到以下情况 记录最新的pip轮子名 记录下上面pip的名称,去…

得帆信息携手深信服,联合打造高安全PaaS超融合一体化解决方案

上海得帆信息技术有限公司(以下简称“得帆”)和深信服科技股份有限公司(以下简称“深信服”)携手推出融合安全性、稳定性、高效性于一体的全新PaaS超融合解决方案。 用户痛点分析 全面推进企业数字化与信息化的趋势下,…

深入探讨Linux中的文本文件查看命令

目录 前言1 cat命令2 less命令3 more命令4 head命令5 tail命令6 总结 前言 在Linux系统中,文本文件是日常工作中不可或缺的一部分,无论是配置文件、日志文件还是代码文件,都需要用到文本文件查看命令。在本文中,我们将深入研究一…

块设备的工作模式

块设备的mknod 还是会创建在 /dev 路径下面,这一点和字符设备一样。/dev 路径下面是 devtmpfs 文件系统。这是块设备遇到的第一个文件系统。我们会为这个块设备文件,分配一个特殊的 inode,这一点和字符设备也是一样的。只不过字符设备走 S_IS…

pcl opencv关于flann的冲突:flann_algorithm_t等

问题如下: 引起问题的点: 解决方法:先include pcl后include opencv; 其他解决方式是在环境变量中将pcl置于opencv前面,但是这里如果是先include opencv,后include pcl问题得不到解决;

java实现冒泡排序

冒泡排序是一种简单的排序算法&#xff0c;以下是Java实现示例代码&#xff1a; public static void bubbleSort(int[] array) {int n array.length;for (int i 0; i < n - 1; i) {for (int j 0; j < n - i - 1; j) {// 如果前面的元素比后面的元素大&#xff0c;就交…

【JVM】Java内存溢出分析(堆溢出、栈溢出、方法区溢出、直接内存溢出)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…

ros 使用turtlesim包报错

ros 使用turtlesim包报错 rosrun] Couldn’t find executable named turtlesim_node below /opt/ros/noetic/share/turtlesim 先说一下前提&#xff0c;我的命名空间是demo03-ws&#xff0c;创建了一个功能包叫rename01_node,下面编写了一个launch文件&#xff0c;如下 希望…

2023nacos源码解读第3集——nacos-client核心功能之微服务调用和配置管理测试

文章目录 1、测试项目2、项目注意事项3、 测试核心功能3.1 测试服务调用与负载均衡3.2 测试配置监听 4、参考文档 1、测试项目 项目地址 nacos-service-a nacos-service-b 2、项目注意事项 项目初始化可以使用aliyun spring initializer ,以更方便的使用springcloud alibaba…

CleanMyMac4.14中文免费版mac系统管理软件

许多小伙伴使用Mac后都反馈电脑不如想象中的流畅&#xff0c;甚至有点卡顿的现象&#xff0c;原因可能是因为无用的应用占据了过多的内存&#xff0c;或者是系统盘垃圾过多&#xff0c;导致的电脑卡顿现象。 今天小编教给大家几招&#xff0c;让自己的Mac能够一键重生&#xf…

自律性差怎么办,如何提高自律能力?

自律的力量是强大的&#xff0c;当然一个人不自律也没啥大不了的事&#xff0c;毕竟不自律的人才是大多数&#xff0c;但是当你想要有所成就的时候&#xff0c;那你就必须要学会自律&#xff0c;提高自律。 如果一个人缺乏自律性&#xff0c;那么学生时代肯定成绩不稳定&#…

线性模型拟合非线性数据中,如何找到最优的【分箱】数

具体的数据可以回看上一条博客。我们先来始化三个空列表&#xff0c;用于存储后续计算的预测得分、交叉验证得分的平均值和交叉验证得分的方差。 pred,score,var [], [], [] 2. 再定义一个列表&#xff0c;包含了我们想要尝试的分箱数量。 binsrange [2,5,10,15,20,30] 3…

MySQL学习day02

一、SQL通用语法 1&#xff09;SQL语句可以单行或多行书写&#xff0c;以分号结尾 2&#xff09;SQL语句可以使用空格/缩进来增强语句的可读性 3&#xff09;MySQL数据库的SQL语句不区分大小写&#xff0c;关键字建议使用大写 4&#xff09;注释&#xff1a; a)单行注释&#x…

深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别 计算机竞赛

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数&#xff1a;2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 4 MobileNetV2网络5 损失函数softmax 交叉熵5.1 softmax函数5.2 交叉熵损失函数 6 优化器SGD7 学…

【软考篇】中级软件设计师 第一部分

中级软件设计师 第一部分 一. 计算机硬件1.1 运算器1.2 控制器 二. 数据的进制2.1 数的表示2.2 数的编码方式2.2.1 数据运算用补码运算 2.3 码制的取值范围2.3.1 例题一 三. 浮点的表示3.1 浮点数运算 四. 运算符五. 校验码5.1 海明校验码 六. 计算机指令6.1 计算机体系结构分类…

【unity插件】UGUI的粒子效果(UI粒子)—— Particle Effect For UGUI (UI Particle)

文章目录 前言插件地址描述特征Demo 演示如何玩演示对于 Unity 2019.1 或更高版本对于 Unity 2018.4 或更早版本 用法基本上是用法使用您现有的 ParticleSystem 预制件带 Mask 或 RectMask2D 组件脚本用法UIParticleAttractor 组件开发说明常见问题解答&#xff1a;为什么我的粒…

MySQL--MHA高可用

MHA相关知识 1.什么是MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件MHA 的出现就是解决MySQL 单点故障的问题。目的&#xff1a;MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。MH…

Vue3:父组件向子组件传值(Props)

背景 在Vue3项目里&#xff0c;页面A&#xff08;在views文件夹里&#xff09;需要读取某个接口的数据&#xff0c;而页面A引入的组件a&#xff08;在components文件夹里&#xff09;也需要读取该接口的数据为了避免重复读取数据从而造成资源浪费&#xff0c;可以利用传值来实…

YOLO目标检测——苹果缺陷检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;苹果质量检测和自动化分拣系统数据集说明&#xff1a;苹果缺陷检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;含有缺陷图片和没缺陷图片。标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量…
最新文章