云计算【第一阶段(29)】远程访问及控制

一、ssh远程管理

1.1、ssh (secureshell)协议

  • 是一种安全通道协议
  • 对通信数据进行了加密处理,用于远程管理功能
  • SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,
  • 建立在应用层和传输层基础上的安全协议。
  • SSH客户端<------------------------------>SSH服务端
    数据传输是加密的,可以防止信息泄漏
    数据传输是压缩的,可以提高传输速度

1.2、openssh

服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd config

SSH客户端: Putty、 Xshell、 CRT、MobaXterm、FinalShell
SSH服务端: OpenSSH

SSH服务端: 默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务

作用:SSHD 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件。
相比较之前用 Telnet 方式来传输文件要安全很多,因为 Telnet 使用明文传输,SSH 是加密传输。

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动

【但是是7的版本有问题漏洞需要升级,目前最新为9.8】

查看版本  :ssh  -V


执行"systemctl start sshd"命令即可启动sshd 服务

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

远程管理linux系统基本上都要使用到ssh,原因很简单:telnet、FTP等传输方式是以明文传送用户认证信息, 本质上是不安全的,存在被网络窃听的危险。SSH(Secure Shell)目前较可靠,
 是专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题,透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
 

 1.3、ssh远程登录方式

1.3.1、登录 方法一
ssh [远程主机用户名] @[远程服务器主机名或IP地址] -p port

如果你想要以用户名为lisi的身份连接到IP地址为192.168.1.100的服务器,并且该服务器的SSH服务运行在端口22上,你应该使用以下命令:

当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh   IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口。

主机映射

1.3.2、登录 方法二
ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port
-l :-l 选项,指定登录名称。
-p:-p 选项,指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)

 (不怎么用)

 关于公钥的查询

在客户端查询

服务端查询自己的公钥

注:第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入yes 后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/.ssh/known_hosts文件中,下次再进行登录时因为保存有该主机信息就不会再提示了

当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。
  解决办法
1. 登录ssh连接远程主机时加上“-o StrictHostKeyChecking=no”的选项,如下:

  ssh -o StrictHostKeyChecking=no 192.168.xxx.xxx

2. 一个彻底去掉这个提示的方法是,修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下两行配置:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

但是最好不要添加

二、服务配置与管理

一般配置服务端

vim  /etc/ssh/sshd_config

端口要改,防止别人暴力破解

ListenAddress     设置SSHD服务器绑定的IP 地址,0.0.0.0 表示侦听所有地址
安全建议:如果主机不需要从公网ssh访问,可以把监听地址改为内网地址 这个值可以写成本地IP地址,也可以写成所有地址,即0.0.0.0 表示所有IP。

当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV,sshd 服务日志存放在:/var/log/secure。

一般来说,为了要判断客户端来源是正常合法的,因此会使用 DNS 去反查客户端的主机名, 但通常在内网互连时,该基设置为 no,因此使联机速度会快些
注:禁用DNS反向解析,以提高服务器的响应速度

以及一些安全配置,安全调优

PermitRootLogin 是否允许 root 登入,默认是允许的,但是建议设定成 no,真实的生产环境服务器,是不允许root 账号直接登陆的,仅允许普通用户登录,需要用到 root 用户再切换到root 用户。

PasswordAuthentication yes
密码验证当然是需要的,所以这里写 yes可以,也可以设置为 no,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。

PermitEmptyPasswords no  
是否允许空密码的用户登录,默认为no,不允许空密码登录

PrintLastLog yes
显示上次登入的信息!默认为 yes 

MaxAuthTries 6
指定每个连接最大允许的认证次数。默认值是 6 。
如果失败认证的次数超过这个数值的一半,连接将被强制断开,且会生成额外的失败日志消息
默认3次

开启pam模块

注释

黑白名单

AllowUsers
当希望只允许或禁止某些用户登录时,可以使用 AllowUsers 或 DenyUsers 配置,两者 用法类似(注意不要同时使用)。
配置AllowUsers
例如,若只允许 zhangsan、wangwu  用户登录其他(lisi)用户

添加
AllowUsers zhangsan@192.168.10.10 wangwu

三、使用密钥登录

分为3步:

客户机在Xshell客户端中,成密钥(公钥与私钥);

放置公钥  到linux服务器的 ~/.ssh/authorized_key文件中;

配置ssh客户机(Xshell客户端)使用密钥登录

3.1、在xshell中密钥登录

1. 在xshell  工具中首先生成公钥

调整2048长度,下一步就行,可以设置名称和密码

生成完成之后会有一个公钥,保存

pub结尾的文件

然后打开我们的linux机器

切换到~/.shh目录下(第一次免密需要ssh一下,否则可能没有.shh文件)

上传公钥

当然还需要改为标准的名称authorized_keys

生成私钥备份

免密登录

登录成功

3.1.1、使用密钥登录的过程

3.2、在linux上生成密钥登录

准备一个跳板机

ssh-keygen 命令的“-t”选项用于指定算法类型  生成公钥和私钥

ssh-copy-id root@192.168.88.19

使用 ssh-copy-id 工具:这将自动处理公钥的复制过程,这个命令会自动处理将你的 id_rsa.pub 公钥内容追加到远程服务器上的 ~/.ssh/authorized_keys 文件中。

 输入密码:由于这是你第一次以这种方式连接到远程服务器,系统可能会要求你输入远程 root 用户的密码。

 通过跳板机79登录19

ssh root@192.168.88.19

修改权限

vim /etc/ssh/sshd_config

在17,43,65行

重启sshd服务

再尝试

 指定端口,成功

四、Linux服务器升级openssh9.8最新版

内容迁移到文件资源中

默认禁用了DSA签名算法

准备文件

openssh官网OpenSSH: Release Notes

由于openssh9.8p1要求openssl版本大于等于1.1.1,因此需要升级安装openssl。

官网Release OpenSSL 1.1.1v · openssl/openssl · GitHub

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

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

相关文章

synchronized关键字详解(全面分析)

目录 synchronized关键字详解1、synchronized关键字简介2、synchronized作用和使用场景作用使用场景①、用在代码块上(类级别同步)②、用在代码块上(对象级别同步)③、用在普通方法上(对象级别同步)④、用在静态方法上(类级别同步)总结&#xff1a; 3、synchronized底层原理&am…

【初阶数据结构】2.顺序表

文章目录 1.线性表2.顺序表2.1 概念与结构2.2 分类2.2.1 静态顺序表2.2.2 动态顺序表 2.3 动态顺序表的实现2.4 顺序表算法题2.4.1 移除元素2.4.2 删除有序数组中的重复项2.4.3 合并两个有序数组 2.5 顺序表问题与思考 1.线性表 线性表&#xff08;linear list&#xff09;是n…

SpringBoot使用Redisson操作Redis及使用场景实战

前言 在SpringBoot使用RedisTemplate、StringRedisTemplate操作Redis中&#xff0c;我们介绍了RedisTemplate以及如何SpringBoot如何通过RedisTemplate、StringRedisTemplate操作Redis。 RedisTemplate的好处就是基于SpringBoot自动装配的原理&#xff0c;使得整合redis时比较…

防火墙安全策略练习

目录 实验拓扑 实验要求 实验思路 实验步骤 1.配置交换机&#xff0c;划分接口的vlan&#xff0c;配置ISP 2.配置防火墙 3.接下来在WEB界面进行所有安全策略操作 配置接口 创建安全区域&#xff1a; 创建地址&#xff1a; 时间段&#xff1a; 安全策略部分&#xff…

地理信息科学在灾害管理中的应用:GIS构建防灾减灾的智慧防线

在全球气候变化与人类活动加剧的背景下&#xff0c;自然灾害频发&#xff0c;给社会经济发展带来了严峻挑战。本文将深入分析GIS在灾害预测、评估和响应中的核心作用&#xff0c;展示其如何为构建更加安全、韧性的社会提供智慧解决方案。 灾害预测&#xff1a;GIS的“先知”之…

JavaScript青少年简明教程:为何学习JavaScript及JavaScript简介

JavaScript青少年简明教程&#xff1a;为何学习JavaScript及JavaScript简介 JavaScript最初是为web浏览器&#xff08;前端开发&#xff09;设计的。它可以在所有现代浏览器中运行&#xff0c;包括Chrome, Firefox, Safari, Edge等。 这意味着JavaScript代码可以在任何能运行…

docker中mysql设置lower_case_table_names配置的坑

前沿 今天在使用flowable流程框架的时候&#xff0c;遇到一个问题。需要配置MySQL数据库以实现表名大小写不敏感。本以为这是一个简单的任务&#xff0c;却耗费了我两个多小时的时间。 docker容器中修改配置&#xff0c;重启不成功 我们前提是容器中的mysql中已经有很多数据…

判断链表中是否有环(力扣141.环形链表)

这道题要用到快慢指针。 先解释一下什么是快慢指针。 快慢指针有两个指针&#xff0c;走得慢的是慢指针&#xff0c;走得快的是快指针。 在这道题&#xff0c;我们规定慢指针一次走一步&#xff0c;快指针一次走2步。 如果该链表有环&#xff0c;快慢指针最终会在环中相遇&a…

微调及代码

一、微调&#xff1a;迁移学习&#xff08;transfer learning&#xff09;将从源数据集学到的知识迁移到目标数据集。 二、步骤 1、在源数据集&#xff08;例如ImageNet数据集&#xff09;上预训练神经网络模型&#xff0c;即源模型。 2、创建一个新的神经网络模型&#xff…

大数据基础:Hadoop之Yarn重点架构原理

文章目录 Hadoop之Yarn重点架构原理 一、Yarn介绍 二、Yarn架构 三、Yarn任务运行流程 四、Yarn三种资源调度器特点及使用场景 Hadoop之Yarn重点架构原理 一、Yarn介绍 Apache Hadoop Yarn(Yet Another Reasource Negotiator&#xff0c;另一种资源协调者)是Hadoop2.x版…

LLM-向量数据库中的索引算法总结

文章目录 前言向量数据库介绍索引方法倒排索引KNN 搜索近似 KNN 搜索Product Quantization(PQ)NSW 算法搜索HNSW 前言 向量数据库是当今大模型知识库检索落地实践的核心组件&#xff0c;下图是构建知识库检索的架构图&#xff1a; 首先会将相关文档数据向量化嵌入到向量化数据…

达梦数据库dm8安装步骤及迁移

目录 前言: 一、安装部署 1、下载 2、创建用户及安装目录 3、挂载下载的镜像 4、环境配置 5、安装 二、基本使用 1、DM工具使用 2、兼容性配置 2.1 兼容GBK字符集编码 2.2 兼容UTF-8字符集编码 3、创建用户和密码,表空间 4、整理数据库配置 5、启动脚本设置 …

JavaSE学习笔记之内部类、枚举类和基本类型包装类

今天我们继续复习Java相关的知识&#xff0c;和大家分享有关内部类等方面的知识&#xff0c;希望大家喜欢。 目录​​​​​​​ 内部类 成员内部类 ​编辑 静态内部类 局部内部类 匿名内部类 枚举类 定义方法 基本类型包装类 自动装箱和拆箱 内部类 成员内部类 成…

使用 Google 的 Generative AI 服务时,请求没有包含足够的认证范围(scopes)

题意&#xff1a; Google generativeai 403 Request had insufficient authentication scopes. [reason: "ACCESS_TOKEN_SCOPE_INSUFFICIENT" 问题背景&#xff1a; I have tried the simple POC for generativeai on its own to do generate_content and it works…

Python酷库之旅-第三方库Pandas(017)

目录 一、用法精讲 41、pandas.melt函数 41-1、语法 41-2、参数 41-3、功能 41-4、返回值 41-5、说明 41-5-1、宽格式数据(Wide Format) 41-5-2、长格式数据(Long Format) 41-6、用法 41-6-1、数据准备 41-6-2、代码示例 41-6-3、结果输出 42、pandas.pivot函数 …

【单片机毕业设计选题24059】-太阳能嵌入式智能充电系统研究

系统功能: 系统由太阳能电池板提供电源&#xff0c; 系统上电后显示“欢迎使用智能充电系统请稍后”&#xff0c; 两秒钟后进入主页面显示。 第一行显示太阳能电池板输入的电压值 第二行显示系统输出的电压值 第三行显示采集到的太阳能电池板温度 第四行显示设置的太阳能…

回归损失和分类损失

回归损失和分类损失是机器学习模型训练过程中常用的两类损失函数&#xff0c;分别适用于回归任务和分类任务。 回归损失函数 回归任务的目标是预测一个连续值&#xff0c;因此回归损失函数衡量预测值与真实值之间的差异。常见的回归损失函数有&#xff1a; 均方误差&#xff…

【UNI-APP】阿里NLS一句话听写typescript模块

阿里提供的demo代码都是javascript&#xff0c;自己捏个轮子。参考着自己写了一个阿里巴巴一句话听写Nls的typescript模块。VUE3的组合式API形式 startClient&#xff1a;开始听写&#xff0c;注意下一步要尽快开启识别和传数据&#xff0c;否则6秒后会关闭 startRecognition…

004-基于Sklearn的机器学习入门:回归分析(下)

本节及后续章节将介绍机器学习中的几种经典回归算法&#xff0c;包括线性回归&#xff0c;多项式回归&#xff0c;以及正则项的岭回归等&#xff0c;所选方法都在Sklearn库中聚类模块有具体实现。本节为下篇&#xff0c;将介绍多项式回归和岭回归等。 目录 2.3 多项式回归 2…

Point Cloud Library (PCL) for Python - pclpy 安装指南 (1)

以下所有的版本号务必按照说明安装。 1.安装 Python 3.6 https://www.python.org/ftp/python/3.6.8/python-3.6.8-amd64.exe #或 百度网盘 2.确认 Python 版本为 3.6.x python #Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on…