SylixOS下SSH和SFTP连接

news2024/11/24 5:34:24

简要

基于网络的连接(telnet,ftp)方便高效,但其是基于明文的通信,容易被窃取、篡改和攻击,存在网络安全问题,尤其在进行远程访问时,穿过复杂未知的公网环境非常危险,为此各种加密网络协议,通过加密加密算法保证内容的保密性和安全性。常用的加密网络协议有:ssh,sftp,scp,https 等。

特别说明,加密网络通信功能需要在内核 V3.0.0 之后才支持,且是以中间件方式提供而不是内核自带,需要用 IDE V6.0 才能自动生成。

编译部署加密功能组件

SylixOS中的加密通信服务不是由内核提供而是通过功能组件提供的,创建base时需要添加openssl,openssh和zlib三个相关组件,编译并部署到目标设备中。
[图片]

[图片]

这几个库最终提供了SSH,SFTP和SCP等一组加密通信功能。

初始化本机密钥

  1. 执行/usr/bin/ssh-keygen,生成root用户rsa密钥对。执行过程会有一些配置请求,不进行特殊配置的话一直回车即可,默认配置完成后将在/root/.ssh/下生成公钥与私钥。然后拷贝公钥并命名为authorized_keys。如果需要为其他用户提供加密通信服务,需要在用户主目录下执行相同命令,以生成该用户的密钥对。
[root@sylixos:/root]# /usr/bin/ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #可输入秘钥存储路径,直接回车则使用括号中的默认路径
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):#可选择为rsa密钥对附加密码,直接回车则无密码
Enter same passphrase again:#再次输入密码以确认
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:xw+73n/PIV/ge2tDe2pz2/Shg4mi67KikesEhSEmgFY root@sylixos
The key's randomart image is:
+---[RSA 3072]----+
|B..E             |
|=+               |
|o .              |
| .       .       |
|.       S +   .  |
|..       . + . o |
|o.        o +.oo+|
|.+ .   . . = .*B@|
|=...++o ..o .+*X@|
+----[SHA256]-----+
[root@sylixos:/root]#
[root@sylixos:/root]# ls .ssh/ #查看生成的SRA密钥对
id_rsa  id_rsa.pub
[root@sylixos:/root]#
[root@sylixos:/root]# cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys  #复制公钥以和程序预期一致
copy complete. size:566(Bytes) time:0(s) speed:566(Bps)
[root@sylixos:/root]# ls .ssh/
authorized_keys  id_rsa  id_rsa.pub
[root@sylixos:/root]#
  1. 执行/usr/bin/ssh-keygen -A,将在/etc/ssh目录下生成系统默认密钥。
[root@sylixos:/root]# /usr/bin/ssh-keygen -A
ssh-keygen: generating new host keys: RSA #密钥生成过程执行较久,请耐心等待
ECDSA ED25519
[root@sylixos:/root]# ls /etc/ssh/
ssh_config              ssh_host_ed25519_key      ssh_host_rsa_key.pub
ssh_host_ecdsa_key      ssh_host_ed25519_key.pub  sshd_config
ssh_host_ecdsa_key.pub  ssh_host_rsa_key
[root@sylixos:/root]#

以上步骤执行完毕,系统就具备加密通信的条件了。

SSH 服务功能

为SylixOS系统部署加密通信组件并初始化本机密钥后,ssh服务默认是没有上电开启的,需要手动启动。执行/usr/sbin/sshd程序即可启动ssh服务,注意必须使用绝对路径。需要开启自启动的话,将该命令加入启动脚本/etc/startup.sh中即可。
ps命令查看有sshd进程则说明ssh服务启动成功。

[root@sylixos:/root]# /usr/sbin/sshd
[root@sylixos:/root]# ps

      NAME            FATHER      STAT  PID   GRP    MEMORY    UID   GID   USER
---------------- ---------------- ---- ----- ----- ---------- ----- ----- ------
kernel           <orphan>         R        0     0        0KB     0     0 root
sshd             <orphan>         R       16    16     6564KB     0     0 root

total vprocess: 2
[root@sylixos:/root]# 

然后就可以通过各种标准客户端通过ssh来登录目标系统了。
RealEvo IDE通过ssh连接设备。
[图片]

[图片]

SecureCRT下ssh登录效果如下:
[图片]

[图片]

[图片]

Windows下powershell登录效果如下:
[图片]

使用SFTP进行文件传输

RealEvo IDE下通过SFTP连接设备效果。注意,如果ide下创建设备链接使用的是加密模式,则所有和设备间的通信,包括命令行,文件传输,调试,系统监控等都是使用的加密模式。
[图片]

filezilla软件下进行SFTP传输效果。
[图片]

SSH客户端功能

scp功能

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

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

相关文章

linux之Ubuntu系列(八)用户管理 修改文件权限

修改文件权限 chown 修改拥有者 修改 文件|目录 的拥有者 sudo chown 用户名 文件名|目录 递归修改文件|目录的组 sudo chgrp -R 组名 文件|目录 递归修改文件权限 chmod -R xxx 文件|目录

mongoDB 分组汇总统计-执行语句(亲测)

# 注意 “gl_id” 需要分组的字段名 “gl_idlCount” 分组后获取数量的字段名&#xff08;可随意命名&#xff09; db.getCollection(集合名).aggregate([{ "$group": {"_id": {"gl_id": "$gl_id"},"gl_idlCount": { "…

一文读懂FPC(16)- 关于过孔盖油和过孔开窗的区分

FPC系列文章目录 1.什么是FPC 2.什么是R-FPC 3&#xff0c;FPC的基材 4.FPC基材压延铜和电解铜的区别 5&#xff0c;FPC的辅材 6&#xff0c;FPC常见的四种类型 7&#xff0c;FPC的生产流程简介 8&#xff0c;R-FPC的生产流程简介 9&#xff0c;FPC的发展及应用 10&a…

优思学院|六西格玛管理:依据事实的质量管理方式

一个企业的质量管理制度是否规范&#xff0c;也就是质量管理体系是否很完备的问题&#xff0c;要考察管理体系是否还有哪里不尽完美&#xff1f;各部门之间的连系、调整是否能够顺利进行&#xff1f;各自是否达成在质量保证上的任务等&#xff0c;进行质量管理体系的审核&#…

【无线通信模块】什么是PCB板载天线,PCB板载天线UART/USB接口WiFi模块

基于射频技术的无线模块需要通过天线来发射和接收电磁波信号&#xff0c;市场上常见的天线类型有陶瓷天线、板载天线、棒状天线以及外接天线&#xff0c;外接天线是通过在PCB板上预留IPEX座子&#xff0c;可选天线类型就比较多。本篇SKYLAB小编带大家了解一下板载天线的UART接口…

ROS:pluginlib

目录 一、前言二、概念三、作用四实际用例4.1需求4.2流程4.3准备4.4创建基类4.5创建插件4.6注册插件4.7构建插件库4.8使插件可用于ROS工具链4.8.1配置xml4.8.2导出插件 4.9使用插件4.10执行 一、前言 pluginlib直译是插件库&#xff0c;所谓插件字面意思就是可插拔的组件&…

vue使用docxtemplater导出word实现使用textarea输入的内容换行

注:本文只做导出word并且换行操作&#xff0c;不做vue引入docxtemplater步骤 先看一下实现效果 这是文本域输入的 这是导出来的结果 可以看出来导出来的结果也是换行的呢 接下来我们手摸手操作一下流程 首先咱们捋一捋思路 知道文本域的换行的换行标识符&#xff0c;我们发…

Spingboot 多模块引入第三方jar包

1. 在需要的模块中引入jar包 2. 在此模块中的pom.xml 中引用 3. 要想打包部署服务器&#xff0c;需要在启动模块中添加配置信息 ps&#xff1a;启动模块要引用此模块才能将此一起jar打包部署 <build><plugins><plugin><groupId>org.springframework.…

对链表进行插入排序

给定单个链表的头 head &#xff0c;使用 插入排序 对链表进行排序&#xff0c;并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的&#xff0c;每次只移动一个元素&#xff0c;直到所有元素可以形成一个有序的输出列表。 每次迭代中&#xff0c;插入排序只从输…

刷新vue项目后,在非routerview中的组件获取路由路径永远是“/“的解决方案

问题&#xff1a; //此文件时项目导航栏&#xff0c;不属于router-view的内容 //route.fullPath表示当前的页面路径onMounted(() > {setTimeout(() > {console.log("100ms________", route.fullPath);}, 100);setTimeout(() > {console.log("500ms___…

Comparator.comparing()实现中文排序及空指针处理

一、 Comparator.comparing()的用法请详见以下上一篇文章的汇总介绍。 Comparator用法_乞力马扎罗の黎明的博客-CSDN博客 二、应用示例&#xff1a; 1、中文排序、空值处理 Collator instance Collator.getInstance(Locale.CHINA); checkItemVoList.stream().sorted(Compar…

微服务保护——Sentinel【快速入门】

一、雪崩问题&#x1f349; (一) 什么是雪崩&#x1f95d; 微服务调用链路中的某个服务故障&#xff0c;引起整个链路中的所有微服务都不可用&#xff0c;这就是雪崩。服务D故障引起服务A故障&#xff0c;服务A引起其他服务故障&#xff0c;渐渐导致所有微服务都不可用。有人…

【深入探究人工智能】:历史、应用、技术与未来

深入探究人工智能 前言人工智能的历史人工智能的应用人工智能的技术人工智能的未来当代的人工智能产物结语&#x1f340;小结&#x1f340; &#x1f389;博客主页&#xff1a;小智_x0___0x_ &#x1f389;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &am…

Linux云服务器,docker compose文件部署多个jar,docker部署多模块boot项目

前提条件 Linux服务器 服务器已经安装docker docker已经安装jdk镜像 docker已经安装mysql镜像 将要部署的项目的jar包打包好&#xff0c;项目是多模块springboot项目 部署过程 项目是3个模块的Spring boot项目&#xff0c;打出来3个jar&#xff0c;将这些jar包拷贝到…

小米手把手教你轻松搞定复杂需求!聊聊商家与店铺的关系优化方案

大家好&#xff0c;我是小米&#xff01;今天要和大家分享一次与产品大佬张小姐的有趣对话和我所面对的一项“小需求”。废话不多说&#xff0c;让我们一起来看看如何应对这个需求挑战吧&#xff01; 系统现状 在开始之前&#xff0c;先让我们简单回顾一下目前系统的现有功能…

echarts实现渐变折线图并添加点击事件

折线图点击事件代码: let myChart = this.$echarts.init(document.getElementById(trendBoxECharts))myChart.getZr().on(click, params => {console.log(params)let pointInPixel = [params.offsetX, params.offsetY]if (myChart.containPixel(grid, pointInPixel)) {//点…

云迁移第二波热潮来袭,你准备好了吗?

最近&#xff0c;云迁移再次被频繁提及&#xff0c;企业对云迁移的需求量有回升趋势&#xff0c;究其根本&#xff0c;主要有以下原因&#xff1a; 企业数字化进程加速&#xff0c;本地上云需求强劲 根据《2021中国企业上云指数洞察报告》&#xff0c;我国实体经济上云渗透率…

vue 当新增样式无法生效的情况下如何处理

使用scoped属性时&#xff0c;会遇到样式问题。需要使用样式穿透解决 <style lang"scss" scoped> </style> 可以使用以下方法 &#xff1a;deep css 使用 >>> less 使用 /deep/ scss 使用 ::v-deep 代码写法如下: .a :deep(.b) { } .…

Word文档突然无法打开?如何修复损坏文档?

在工作学习中&#xff0c;通常会遇到这种情况&#xff0c;我们正在编辑Word文件&#xff0c;电脑忽然断电关机&#xff0c;或者死机需要重启。当电脑重启以后&#xff0c;辛辛苦苦编辑很久的Word文件却忽然打不开了&#xff01;一直提示文件错误&#xff0c;如何解决Word无法打…

第五章运输层

1.运输层概述 之前课程所介绍的计算机网络体系结构中的物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来所面临的问题&#xff0c;实现了主机到主机的通信。 但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程。 如何为运行在不同主…