Linux网络ssh服务

目录

一.ssh服务基础

1.ssh服务简介

2.ssh服务原理

二.ssh服务应用

1.ssh配置文件

2.ssh连接验证

三.ssh服务端

1.修改默认端口号

2.免密连接登录

3.禁止root用户登录

4.ssh服务的最佳实践


一.ssh服务基础

1.ssh服务简介

SSH:是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务(文件传输功能)

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

优点:

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

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

软件名:openssh

服务名:sshd

服务端主程序:/usr/sbin/sshd

服务端配置文件:/etc/ssh/sshd_config

客户端配置文件:/etc/ssh/ssh_config

2.ssh服务原理

  • 客户端发起连接请求
  • 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
  • 客户端生成密钥对
  • 客户端用自己的公钥异或会话ID(异或是算法,有很多种),计算出一个值Res,并用服务端的公钥加密
  • 客户端发送加密值到服务端,服务端用私钥解密,得到Res
  • 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
  • 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
     

二.ssh服务应用

1.ssh配置文件

2.ssh连接验证

三.ssh服务端

1.修改默认端口号

2.免密连接登录

命令:ssh-keygen

注意:这里的免密登录是单向的,如需双方都能免密登录,服务端也需要进行一次公钥传输。

3.禁止root用户登录

配置文件:/etc/ssh/sshd_config

注意:注意虽然阻止了root 但是普通用户可以先登录再使用su切换成root

4.ssh服务的最佳实践

  • 建议使用非默认端口 22

  • 禁止使用protocol version 1

  • 限制可登录用户 白名单

  • 设定空闲会话超时时长

  • 利用防火墙设置ssh访问策略

  • 仅监听特定的IP地址 公网 内网

  • 基于口令认证时,使用强密码策略

  • 使用基于密钥的认证

  • 禁止使用空密码

  • 禁止root用户直接登录

  • 限制ssh的访问频度和并发在线数

  • 经常分析日志 分离

  • 禁止反向dns

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

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

相关文章

滑动窗口练习(一)— 固定窗口最大值问题

题目 假设一个固定大小为W的窗口,依次划过arr, 返回每一次滑出状况的最大值 例如,arr [4,3,5,4,3,3,6,7], W 3 返回:[5,5,5,4,6,7] 暴力对数器 暴力对数器方法主要是用来做校验,不在乎时间复杂度,逻辑上…

Network(四)NAT实现方式与VRRP概述

一 NAT 1 NAT概述 (1)NAT的作用 Network Address Translation,网络地址转换 通过将内部网络的私有IP地址转换成全球唯一的公网IP地址使内部网络可以连接到互联网。 (2)私有IP地址分类 A类10.0.0.0~10.255.255.…

[C/C++]数据结构 LeetCode:用栈实现队列

题目描述: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返…

【Redis】zset常用命令集合间操作内部编码使用场景

文章目录 前置知识列表、集合、有序集合三者的异同点 普通命令ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZPOPMAXBZPOPMAXZPOPMINBZPOPMINZRANKZREVRANKZSCOREZREMZREMRANGEBYRANKZREMRANGEBYSCOREZINCRBY 集合之间的操作ZINTERSTOREZUNIONSTORE 命令小结内部编码测试内部编…

【LeetCode刷题-树】--998.最大二叉树II

998.最大二叉树II /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …

【数据结构】C语言实现队列

目录 前言 1. 队列 1.1 队列的概念 1.2 队列的结构 2. 队列的实现 2.1 队列的定义 2.2 队列的初始化 2.3 入队 2.4 出队 2.5 获取队头元素 2.6 获取队尾元素 2.7 判断空队列 2.8 队列的销毁 3. 队列完整源码 Queue.h Queue.c 🎈个人主页&#xff1a…

电子学会2023年6月青少年软件编程(图形化)等级考试试卷(四级)真题,含答案解析

青少年软件编程(图形化)等级考试试卷(四级) 一、单选题(共10题,共30分) 1. 下列积木运行后的结果是?( )(说明:逗号后面无空格) A.

【Java集合】聊聊Hashmap的哈希函数、扩容、树化

哈希函数 hashmap是开发中常用的一个集合,除了一些基本的属性、put、get等流程,本篇文章主要介绍下哈希函数、扩容、树化的一些细节。 而hash函数就是hashmap的重中之重。 static final int hash(Object key) {int h;return (key null) ? 0 : (h key…

阅读芯片源码(RTL)

part one 主要的原则。 一个rtl可以是这样的: 经常大家习惯于算法和数据结构。对于设计的部分,落实不一定多。 另外一个rtl也可以是这样的: 所以从不同的层面来讲,一个Rtl有不同的表述。 首先大概把所有的部分浏览一遍&#x…

CICD 持续集成与持续交付——gitlab

部署 虚拟机最小需求:4G内存 4核cpu 下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 安装依赖性 [rootcicd1 ~]# yum install -y curl policycoreutils-python openssh-server perl[rootcicd1 ~]# yum install -y gitlab-ce-15.9.3-ce.0…

Jmeter——结合Allure展示测试报告

在平时用jmeter做测试时,生成报告的模板,不是特别好。大家应该也知道allure报告,页面美观。 先来看效果图,报告首页,如下所示: 报告详情信息,如下所示: 运行run.py文件,…

AVL树实现

目录 ​编辑 一,AVL树的概念 二,实现AVL树(部分) 1.AVL树的节点 2.AVL数的插入 1.当根节点为nullptr时要执行如下代码: 2.当根节点不为nullptr时 1.当parent的_bf变为0时,parent之前的_bf的大小就是…