linux笔记(SSH)

一、基本概念

  • 定义
    • SSH 是一种网络协议,用于在不安全的网络上安全地进行远程登录和其他网络服务。它通过加密技术提供了安全的通信通道,确保数据传输的保密性、完整性和认证性。
  • 主要用途
    • 远程登录:允许用户通过网络连接到远程服务器,就像在本地终端操作一样。例如,系统管理员可以从自己的办公电脑 SSH 到数据中心的服务器进行管理操作。
    • 文件传输:支持安全的文件传输,如使用 SCP(Secure Copy)和 SFTP(SSH File Transfer Protocol)。这在备份数据、部署网站文件等场景中非常有用。
    • 端口转发:可以将本地端口映射到远程服务器端口或者反之,用于访问受限制的网络资源或安全地访问内部服务。

二、工作原理

  • 加密算法
    • 对称加密:SSH 使用对称加密算法(如 AES)来加密传输的数据。在通信开始时,双方会协商一个密钥用于加密和解密数据。
    • 非对称加密:利用公钥和私钥对来进行身份认证。服务器的公钥发送给客户端,客户端用这个公钥加密信息,只有服务器的私钥才能解密,从而保证了通信的安全性。
    • 哈希算法:用于验证数据的完整性,如 SHA - 256。在数据传输过程中,会对数据进行哈希计算,接收方通过重新计算哈希值并与发送方提供的哈希值进行比较,来判断数据是否被篡改。
  • 认证方式
    • 基于密码的认证:这是最常见的认证方式。用户输入用户名和密码,客户端将其发送到服务器进行验证。不过这种方式相对安全性稍低,因为密码可能被窃取。
    • 基于密钥的认证:更为安全。用户生成一对密钥(公钥和私钥),将公钥放置在服务器的授权密钥文件中。当客户端尝试连接时,服务器使用公钥加密一个随机数,客户端用私钥解密并返回结果,以此来验证身份。

三、SSH 客户端和服务器配置

  • 服务器配置
    • 安装和启动:在 Linux 系统中,通常使用包管理器(如 apt、yum)安装 OpenSSH 服务器软件(如 openssh - server),安装完成后启动服务(systemctl start sshd)。
    • 配置文件修改:主要的配置文件是 sshd_config,在这里可以设置监听端口(默认为 22)、允许或禁止 root 登录、认证方式等选项。例如,要更改监听端口可以修改 “Port” 选项。
    • 密钥管理:服务器的主机密钥在安装时自动生成,这些密钥用于识别服务器身份。如果主机密钥发生变化,客户端会收到警告,这可能意味着存在中间人攻击。
  • 客户端配置
    • 基本连接:在 Linux 或 macOS 系统中,可以使用命令行工具 “ssh” 进行连接。例如,“ssh user@server_ip”,其中 “user” 是远程服务器的用户名,“server_ip” 是服务器的 IP 地址。
    • 配置文件(~/.ssh/config):可以在客户端的配置文件中设置常用的连接选项,如别名、代理设置、默认的密钥等。例如,可以为经常访问的服务器设置别名,这样通过别名就可以快速连接。

四,配置文件分析:

vim /etc/ssh/sshd_config

21.#Port 22  # 默认监听22端口,可修改
22.#AddressFamily any  # IPV4和IPV6协议家族用哪个,any表示二者均有
23.#ListenAddress 0.0.0.0 # 指明监控的地址,0.0.0.0表示本机的所有地址(默认可修改)
24.#ListenAddress :: # 指明监听的IPV6的所有地址格式

26.#HostKey /etc/ssh/ssh_host_rsa_key     # rsa私钥认证,默认
27.#HostKey /etc/ssh/ssh_host_ecdsa_key   # ecdsa私钥认证
28.#HostKey /etc/ssh/ssh_host_ed25519_key # ed25519私钥认证


34 #SyslogFacility AUTH  # ssh登录系统的时会记录信息并保存在/var/log/secure
35.#LogLevel INFO   # 日志的等级

39.#LoginGraceTime 2m   # 登录的宽限时间,默认2分钟没有输入密码,则自动断开连接
40 PermitRootLogin yes # 允许管理员root登录 
41.#StrictModes yes   # 是否让sshd去检查用户主目录或相关文件的权限数据
42.#MaxAuthTries 6  # 最大认证尝试次数,最多可以尝试6次输入密码。之后需要等待某段时间后才能再次输入密码
43.#MaxSessions 10   # 允许的最大会话数

49.AuthorizedKeysFile .ssh/authorized_keys # 选择基于密钥验证时,客户端生成一对公私钥之后,会将公钥放到.ssh/authorizd_keys里面
65 #PasswordAuthentication yes  # 登录ssh时是否进行密码验证
66 #PermitEmptyPasswords no    # 登录ssh时是否允许密码为空

……
123.Subsystem sftp /usr/libexec/openssh/sftp-server #支持 SFTP ,如果注释掉,则不支持sftp连接
AllowUsers user1 user2 #登录白名单(默认没有这个配置,需要自己手动添加),允许远程登录的用户。如果名单中没有的用户,则提示拒绝登录

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

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

相关文章

【NOIP普及组】 装箱问题

【NOIP普及组】 装箱问题 💐The Begin💐点点关注,收藏不迷路💐 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0&…

KubeSphere 最佳实战:Kubernetes 部署集群模式 Nacos 实战指南

Nacos 是 Dynamic Naming and Configuration Service 的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 是构建以服务为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 在本文中,我将为您提供…

k8s备份恢复(velero)

velero简介 velero官网: https://velero.io/ velero-github: https://github.com/vmware-tanzu/velero velero的特性 备份可以按集群资源的子集,按命名空间、资源类型标签选择器进行过滤,从而为备份和恢复的内容提供高度的灵活…

怎么在线制作拼团活动

在这个快节奏的时代,我们总在寻找那份独特的购物乐趣与超值体验。传统购物模式已难以满足日益增长的个性化与性价比需求,而在线购物虽便捷,却常让人在琳琅满目的商品中迷失方向。正是在这样的背景下,一种全新的购物方式——“在线…

vue3处理货名的拼接

摘要: 货品的拼接规则是:【品牌】货名称/假如货品名称为空时,直接选择品牌为【品牌】赋值给货品,再选择品牌,会替换【品牌】;假如货名称为【品牌】名称,再选择品牌只会替换【品牌】,…

vue3项目页面实现echarts图表渐变色的动态配置

完整代码可点击vue3项目页面实现echarts图表渐变色的动态配置-星林社区 https://www.jl1mall.com/forum/PostDetail?postId202410151031000091552查看 一、背景 在开发可配置业务平台时,需要实现让用户对项目内echarts图表的动态配置,让用户脱离代码也…

2024下半年软考机考模拟系统已开放!小伙伴们速速练起来

千呼万唤使出来,软考机考的模拟练习系统已于10月23号正式开放! 今年报名计算机技术与软件专业技术资格(水平)考试(软考)的小伙伴们千万不要忘记哦! 01、开放时间 据中国计算机技术职业资格网发…

基于AI识别数据的Vue.js图像框选标注

在数字化时代,图像识别技术的应用越来越广泛,尤其是在车牌识别、人脸识别等领域。本文将介绍如何使用Vue.js框架和JavaScript创建一个交互式组件,该组件不仅允许用户在图片上绘制多个区域,加载文字,还提供了清空功能。…

外包干了2个月,技术明显退步

回望过去,我是一名普通的本科生,于2019年通过校招有幸加入了南京某知名软件公司。那时的我,满怀着对未来的憧憬和热情,投入到了功能测试的岗位中。日复一日,年复一年,转眼间,我已经在这个岗位上…

常用shell指令

这些指令通常在adb shell环境中使用,或者通过其他方式(如SSH)直接在设备的shell中使用。 文件操作命令 ls:列出目录的内容 ls /sdcard cd:改变目录 cd /sdcard/Download pwd:打印当前工作目录 pwd cat&…

CV2通过一组轮廓点扣取图片

代码如下: import cv2 import numpy as np# 读取原始图像 original_image cv2.imread(img.png)# 定义一组轮廓点(这里只是示例,你需要根据实际情况替换) points np.array([[50, 100], [100, 200], [200, 150], [200, 50], [160…

负载均衡服务器攻击怎么解决最有效?

负载均衡服务器攻击怎么解决最有效?常见的有效解决方法包括:使用SYNCookie机制、限制ICMP包速率、基于源IP的连接速率限制、检测并丢弃异常IP包、配置访问控制列表(ACL)、设置虚拟服务器/服务器连接数量限制、设置HTTP并发请求限制…

【景观生态学实验】实验二 景观类型分类

实验目的 1.掌握ArcGIS软件的基本操作:通过课堂理论学习与实验课的实际动手操作,学习并熟练掌握如何利用ArcGIS软件对遥感影像进行一些较为基础的数据处理与分析工作,具体包括波段合成、图像镶嵌、图像裁剪与图像分类等; 2.熟悉…

基于STM32设计的养殖场环境监测系统(华为云IOT)

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】需求总结 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 二、部署华为云物联网平台2.1 物联网平台介绍2.2 开通物联网服务2.3 创建产品&#x…

微信小程序-获取头像和昵称

一.获取头像 1.将button组件open-type的值设置为chooseAvatar 2.通过bindchooseavatar事件回调获取到头像信息的临时路径 wxml文件代码&#xff1a; <view> <button class"btn" open-type"chooseAvatar" bindchooseavatar"chooseavatar&qu…

生成式人工智能

这个接龙的生成就是概率式的&#xff0c;下一个接龙的字是有概率的 本身就是在做文字接龙的游戏&#xff0c;不会搜索网上的资料

Zig语言通用代码生成器:逻辑,冒烟测试版发布

#1024程序员节 | 征文# Zig语言通用代码生成器&#xff1a;逻辑&#xff0c;冒烟测试版发布 Zig语言是一种新的系统编程语言&#xff0c;其生态位类同与C&#xff0c;是前一段时间大热的rust语言的竞品。它某种意义上的确非常像rust&#xff0c;尤其是在开发过程中无穷无尽抛错…

【哈工大_操作系统理论】L282930 生磁盘的使用从生磁盘到文件文件使用磁盘的实现

L4.3 生磁盘的使用 1、认识磁盘 选择磁道旋转扇区数据读写 哪一个柱面 C哪一个磁头 H哪一个扇区 S 2、第一层抽象&#xff1a;盘块号block 发送盘块号block&#xff0c;磁盘驱动根据 block 计算出 cyl、head、sec&#xff08;CHS&#xff09; 磁盘访问时间主要是寻道时间…

精准布局:探索CSS中的盒子固定定位的魅力

一、概念 固定定位使元素相对于浏览器窗口进行定位&#xff0c;无论网页如何滚动&#xff0c;固定定位的元素也会保持在相同的位置&#xff0c;设置固定定位的元素脱离文档流。 二、语法结构 <style>选择器{/* fixed 固定定位 */position: fixed;}</style> 与绝…

LeetCode练习-删除链表的第n个结节

大家好&#xff0c;依旧是你们的萧萧啊。 今天我们来练习一个经典的链表问题&#xff1a;删除链表的第n个节点。在这篇文章中&#xff0c;我们将深入分析这个问题&#xff0c;并给出一个有效的解决方案。 问题描述 给定一个链表&#xff0c;要求删除链表的倒数第n个节点&…