ssh远程登录协议

目录

一、ssh协议定义及特点

(一)ssh协议简介

(二)ssh协议的主要特点

二、ssh传输原理

三、sshd服务

(一)配置文件

(二)基本用法

1.直接连接

2.连接指定用户 

3.指定端口号

4.黑白名单

(三)基于密钥验证

1.创建密钥

2.传送到远程主机

3.登录验证


一、ssh协议定义及特点

(一)ssh协议简介

SSH(Secure Shell)协议是一种网络协议,主要用于在不安全的网络中提供安全的远程登录和命令执行环境。SSH协议基于客户端-服务器模型设计,主要目的是为用户提供数据加密、身份验证以及消息完整性检查等功能,确保用户能够在网络上安全地访问另一台计算机。

SSH(Secure Shell):主要用于Linux和Unix系统上的远程登录和命令行控制,同时也可用于文件传输和其他安全网络服务。

(二)ssh协议的主要特点

1.数据加密:所有通过SSH传输的数据都经过加密处理,包括命令行输入、输出结果和任何交互式会话内容,防止了中间人攻击窃取或篡改通信数据。

2.数据压缩:将传输数据压缩,提高传输速度

3.身份验证:支持多种身份验证机制,包括密码认证、公钥认证等。其中公钥认证通常结合私钥和公钥对使用,提供了较高的安全性。

4.安全隧道:SSH可以建立端口转发(也称为隧道),允许将本地计算机上的端口流量通过加密的SSH连接转发到远程主机的相应端口,用于保护非安全服务的通信。

5.文件传输:虽然SSH协议本身并不直接负责文件传输,但可以通过SCP(Secure Copy)或SFTP(SSH File Transfer Protocol)等工具利用SSH的安全连接进行文件的安全传输。

二、ssh传输原理

SSH(Secure Shell)协议中的公钥交换是其安全性的关键组成部分之一。在SSH连接建立过程中,客户端和服务器端通过非对称加密算法进行密钥交换,确保了会话的机密性和完整性。

最后双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密。公钥可任意分发但不能用于解密,私钥只有所有者持有且可用于解密由相应公钥加密的数据,从而保证了密钥交换的安全性。

三、sshd服务

(一)配置文件

来了解一下基本的文件


[root@localhost .ssh]#rpm -qc  openssh-server  #服务名称叫做sshd,软件包名称叫openssh
/etc/pam.d/sshd            #sshd服务的PAM认证模块
/etc/ssh/sshd_config       #本机作为服务端的sshd服务的配置文件
/etc/sysconfig/sshd        #虽然许多SSH守护进程的详细配置是在/etc/ssh/sshd_config文件中完成的,但该文件也可以用来覆盖或补充一些启动参数[root@localhost ~]#ls  /etc/ssh/
moduli                      #这个文件包含了Diffie-Hellman密钥交换协议使用的素数模数集合,用于提供足够的强度和效率以抵抗中间人攻击。
ssh_config                  #本机作为客户端的配置文件
ssh_host_ecdsa_key          #ecdsa算法生成的公钥
ssh_host_ecdsa_key.pub      #ecdsa算法生成的公钥
ssh_host_ed25519_key        #ed25519算法生成的公钥
ssh_host_ed25519_key.pub    #ed25519算法生成的公钥
ssh_host_rsa_key.pub        #rsa算法生成的公钥
ssh_host_rsa_key            #rsa算法生成的公钥

(二)基本用法

使用ssh 命令

1.直接连接

默认连接root用户

输入  ssh  IP地址

第一次和服务端机器连接时,会询问是否要验证公钥,同意或后就会自动获取服务端的公钥

如何去验证是否连接到正确的服务机器,可以查看服务端的公钥

可以发现,两个公钥是完全一样的,所以我们连接的就是指定的机器

2.连接指定用户 

ssh   用户名@IP地址

也可以使用-l 指定用户名

3.指定端口号

sshd服务默认使用的端口号是22,如果不是端口号,需要-p  指定端口号

将服务端的端口号修改成非22端口

vim /etc/ssh/sshd_config

修改之后重启服务 systemctl restart sshd ,使配置文件生效

再使用客户机去连接就需要指定端口号了

4.黑白名单

白名单:默认拒绝所有,只有白名单允许的人才可以访问

黑名单:默认允许所有,只有黑名单里的用户才可以访问

修改服务端的服务配置文件:vim   /etc/ssh/sshd_config

禁止的IP地址上的所有用户都无法远程登录本机

白名单允许的,只能远程登录本机的kysw用户

(三)基于密钥验证

使用密码验证终归会存在着被骇客暴力破解或嗅探监听的危险,其实也可以让 ssh 服务基于密钥进行安全验证 (可无需密码验证)。

在实验之前,将之前设置的黑白名单删除,或者使用新的客户机实验

1.创建密钥

也可以指定算法类型:输入  ssh-keygen  -t  ed25519 (ecdsa)

2.传送到远程主机

在服务端查看已经收到的密钥文件,会生成一个authorized_keys的文件

3.登录验证

这个时候我们再登录的话,会使用密钥文件进行验证

如果不想验证密码,使用免交互登录

先输入ssh-agent  bash 将这个命令交给bash去管理

再输入ssh-add  是将用户的私钥添加到运行中的 ssh-agent中,这样在后续的SSH连接过程中,就不需要每次都手动输入私钥的密码了。一旦私钥被添加到ssh-agent 中,它会暂时保存解密后的私钥以供后续使用。

重启机器后就会失效,需要重新进行上述操作,再次输入密码

或者修改服务端配置文件

这样,其它没有密钥的客户端是无法连接本机的,只有有密钥的客户机可以连接

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

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

相关文章

设计模式之策略模式【行为型模式】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某…

谷歌推广该选择SEO还是Ads?谷歌技巧分享及实战

众所周知,谷歌是全球最大线上搜索引擎,已经成为消费者在进行线上购物时不可或缺的重要搜索工具,全球用户每天在谷歌上有着几十亿次的搜索行为。 所以现在越来越多的跨境丝氨酸选择在Google上投放广告,这也给卖家带来了非常精准的…

解决防爬虫机制方法(一)

最近为了完成学校的大数据的作业,老师要我们爬一个的网站,里面有还算不错的防爬机制,忙活了几天,总结出一些常见的防爬机制的应对方法,方法均来自个人实战总结,非专业爬虫角度分析 1.响应时间过快 1.1网速…

十分钟教你在 k8s 中部署一个前后端应用

好多开发人员,尤其是没接触过 k8s 的人员对如何在k8s中部署一个 前后端应用很模糊,不知如何下手,所以本篇讲一下如何快速在 k8s 部署一个前后端应用,让大家对k8s有个快速认识 前置依赖 k8s集群,如果没有安装&#xff0…

什么是RoPE-旋转位置编码?

RoPE位置编码是大模型中最常见的位置编码之一。像是谷歌的PaLM和meta的LLaMA等开源大模型都是RoPE位置编码,那么RoPE有什么特点呢? 本文将介绍如下内容: RoPE旋转位置编码概要什么是位置编码?RoPE及其特点总结 一、RoPE旋转位置…

refs传值

父组件和子组件同时展示 父组件&#xff1a; <div><el-button click"showdialog">点击</el-button><div><UploadFile ref"child"></UploadFile></div></div>created () {this.init(); }, methods:{init …

stm32学习笔记:DMA

每个DMA通道硬件触发源是不一样的&#xff0c;要使用某个外设的硬件触发源&#xff0c;就必须使用它连接的那个通道 12个独立可配置的通道&#xff1a;DMA1(7个通道)&#xff0c;DMA2(5个通道) 每个通道都支持软件触发和特定的硬件触发 C8T6 DMA资源&#xff1a;DMA1 &#xff…

Python自动化我选DrissionPage,弃用Selenium

DrissionPage 是一个基于 python 的网页自动化工具。 它既能控制浏览器&#xff0c;也能收发数据包&#xff0c;还能把两者合而为一。 可兼顾浏览器自动化的便利性和 requests 的高效率。 它功能强大&#xff0c;内置无数人性化设计和便捷功能。 它的语法简洁而优雅&#x…

数据库和表的操作

文章目录 前言一、库的操作创建数据库字符集和校验规则操纵数据库查看数据库显示创建语句修改数据库删除数据库备份和恢复数据库还原查看连接情况 二、表的操作创建表查看表结构修改表修改表名添加一列修改某一列属性删除某一列 删除表 前言 一、库的操作 创建数据库 语法&am…

【Python机器学习】分类器的不确定估计——决策函数

scikit-learn接口的分类器能够给出预测的不确定度估计&#xff0c;一般来说&#xff0c;分类器会预测一个测试点属于哪个类别&#xff0c;还包括它对这个预测的置信程度。 scikit-learn中有两个函数可以用于获取分类器的不确定度估计&#xff1a;decidion_function和predict_pr…

day06

1.八大基本数据类型整型: byte short int long 浮点: double float字符: char布尔: boolean2.声明变量的语法格式数据类型 变量名字 初始化的值; 3.使用for循环打印等腰三角形for (int i 1; i < 4; i) {for (int j 1; j < 4 - i; j) {System.out.print(" &qu…

快速获取商品条码查询API接口python代码

商品条码查询API实现了对商品条码信息的快速获取和准确识别。这个接口在电子商务、分销溯源、商超服务等领域具有应用市场&#xff0c;通过此接口获取商品所包含的详细信息。 首先&#xff0c;使用数据平台该API接口需要先注册后申请此API接口。申请成功后使用个人中心的API秘…

计算机毕业设计----SSH电子相册管理系统

项目介绍 本项目分为普通用户与管理员两个角色&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登陆,用户信息管理,登陆密码修改等功能。 用户角色包含以下功能&#xff1a; 用户登陆,个人信息管理,相册管理,上传照片等功能。 环境需要 1.运行环境&#xff1a;最好…

高效办公:在文件夹名称左边插入关键字,提高文件管理效率

在繁忙的工作环境中&#xff0c;经常要处理大量的文件和文件夹。有效的文件管理是一个挑战&#xff0c;大量的文件和文件夹难以找到所需的资料。下面一起来看云炫文件管理器如何在文件夹名称左边批量插入关键字。 文件夹名称左边添加关键字前后对比图。 文件夹名称左边批量插…

P1379 八数码难题

题目描述 在 33 的棋盘上&#xff0c;摆有八个棋子&#xff0c;每个棋子上标有 1 至 8 的某一数字。棋盘中留有一个空格&#xff0c;空格用 0 来表示。空格周围的棋子可以移到空格中。要求解的问题是&#xff1a;给出一种初始布局&#xff08;初始状态&#xff09;和目标布局&…

linux服务器ftp部署

1、ftp服务安装 # 检查是否安装 1、查询安装列表 sudo systemctl list-unit-files --typeservice | grep ftp 2、查询ftp服务状态 sudo service vsftpd status 或者 sudo systemctl status vsftpd # yum安装&#xff0c;一般yum仓库都有ftp安装包 sudo yum install vsftpd # 启…

哪里能找到好用的PPT模板?12个免费模板网站让你畅快办公!

你是否有过这样的经历&#xff0c;在准备重要会议或者演讲的时候&#xff0c;为找不到合适的PPT模板而困扰&#xff1f;或是在网上漫无目的地搜寻&#xff0c;结果收获的是设计平淡无奇的PPT模板&#xff1f; 如果你有同样的疑问&#xff0c;那么你来对地方了&#xff01;在这…

电脑扩容升级硬盘选1T还是2T

SSD固态有必要升级2TB吗&#xff1f;----------吴中函 某大二学生用的一台笔记本电脑&#xff0c;512GB的硬盘空间已经严重不够用了&#xff0c;想给笔记本扩容升级一下硬盘&#xff1b; 这位学生是学设计专业的、平时也喜欢摄影、电脑里面也装了一些游戏&#xff0c;经常整理、…

Linux技术,winSCP连接服务器超时故障解决方案

知识改变命运&#xff0c;技术就是要分享&#xff0c;有问题随时联系&#xff0c;免费答疑&#xff0c;欢迎联系&#xff01; 故障现象 使用 sftp 协议连接主机时, 明显感觉缓慢且卡顿,并且时常出现如下报错: 点击重新连接后,又有概率重新连接上; 总之在"连接上"和&…

What is `WebMvcConfigurer` does?

WebMvcConfigurer 用于自定义和扩展SpringMVC的功能配置。 比如&#xff1a;可以配置如视图解析器、静态资源处理、消息转换器、拦截器等MVC相关的组件。 实现 WebMvcConfigurer 接口&#xff0c;并使用 Configuration 注解标记&#xff0c;使其成为一个配置类 Configuration …