嵌入式LINUX移植、配置ssh

  • 编译

https://quantum6.blog.csdn.net/article/details/136299665

编译时指定prefix,产生的文件会自带这个目录。所以直接忽略。

./configure# 不指定编译路径,手动复制。
  • 复制

编译后的整个目录打包,复制到开发板。写个脚本,内容如下,执行:

INSTALL=/usr/bin/install
MKDIR=/usr/bin/mkdir${MKDIR} -p -m 0755 /var/emptyU_L_SBIN=/usr/local/sbin
echo
echo ${U_L_SBIN}
${MKDIR} -p ${U_L_SBIN}
${INSTALL} -c -m 0755 sshd                ${U_L_SBIN}/sshdU_L_BIN=/usr/local/bin
echo
echo ${U_L_BIN}
${MKDIR} -p ${U_L_BIN}
${INSTALL} -c -m 0755 ssh                 ${U_L_BIN}/ssh
${INSTALL} -c -m 0755 scp                 ${U_L_BIN}/scp
${INSTALL} -c -m 0755 ssh-add             ${U_L_BIN}/ssh-add
${INSTALL} -c -m 0755 ssh-agent           ${U_L_BIN}/ssh-agent
${INSTALL} -c -m 0755 ssh-keygen          ${U_L_BIN}/ssh-keygen
${INSTALL} -c -m 0755 ssh-keyscan         ${U_L_BIN}/ssh-keyscan
${INSTALL} -c -m 0755 sftp                ${U_L_BIN}/sftpU_L_LIBEXEC=/usr/local/libexec
echo
echo ${U_L_LIBEXEC}
${MKDIR} -p ${U_L_LIBEXEC}
${INSTALL} -c -m 4711 ssh-keysign         ${U_L_LIBEXEC}/ssh-keysign
${INSTALL} -c -m 0755 ssh-pkcs11-helper   ${U_L_LIBEXEC}/ssh-pkcs11-helper
${INSTALL} -c -m 0755 ssh-sk-helper       ${U_L_LIBEXEC}/ssh-sk-helper
${INSTALL} -c -m 0755 sftp-server         ${U_L_LIBEXEC}/sftp-serverU_L_S_M_MAN1=/usr/local/share/man/man1
echo
echo ${U_L_S_M_MAN1}
${MKDIR} -p ${U_L_S_M_MAN1}
${INSTALL} -c -m 644 ssh.1.out               ${U_L_S_M_MAN1}/ssh.1
${INSTALL} -c -m 644 scp.1.out               ${U_L_S_M_MAN1}/scp.1
${INSTALL} -c -m 644 ssh-add.1.out           ${U_L_S_M_MAN1}/ssh-add.1
${INSTALL} -c -m 644 ssh-agent.1.out         ${U_L_S_M_MAN1}/ssh-agent.1
${INSTALL} -c -m 644 ssh-keygen.1.out        ${U_L_S_M_MAN1}/ssh-keygen.1
${INSTALL} -c -m 644 ssh-keyscan.1.out       ${U_L_S_M_MAN1}/ssh-keyscan.1
${INSTALL} -c -m 644 sftp.1.out              ${U_L_S_M_MAN1}/sftp.1U_L_S_M_MAN5=/usr/local/share/man/man5
echo
echo ${U_L_S_M_MAN5}
${MKDIR} -p ${U_L_S_M_MAN5}
${INSTALL} -c -m 644 moduli.5.out            ${U_L_S_M_MAN5}/moduli.5
${INSTALL} -c -m 644 sshd_config.5.out       ${U_L_S_M_MAN5}/sshd_config.5
${INSTALL} -c -m 644 ssh_config.5.out        ${U_L_S_M_MAN5}/ssh_config.5U_L_S_M_MAN8=/usr/local/share/man/man8
echo
echo ${U_L_S_M_MAN8}
${MKDIR} -p ${U_L_S_M_MAN8}
${INSTALL} -c -m 644 sshd.8.out              ${U_L_S_M_MAN8}/sshd.8
${INSTALL} -c -m 644 sftp-server.8.out       ${U_L_S_M_MAN8}/sftp-server.8
${INSTALL} -c -m 644 ssh-keysign.8.out       ${U_L_S_M_MAN8}/ssh-keysign.8
${INSTALL} -c -m 644 ssh-pkcs11-helper.8.out ${U_L_S_M_MAN8}/ssh-pkcs11-helper.8
${INSTALL} -c -m 644 ssh-sk-helper.8.out     ${U_L_S_M_MAN8}/ssh-sk-helper.8U_L_ETC=/usr/local/etc
echo
echo ${U_L_ETC}
${MKDIR} -p ${U_L_ETC}
${INSTALL} -c -m 644 ssh_config.out          ${U_L_ETC}/ssh_config
${INSTALL} -c -m 644 sshd_config.out         ${U_L_ETC}/sshd_config
${INSTALL} -c -m 644 moduli.out              ${U_L_ETC}/moduli
  •  准备工作
ssh-keygen -A
  • 产生KEY(实际上已经复制,不需要)
ssh-keygen -t rsa   -f ssh_host_rsa_key     -N ""
ssh-keygen -t dsa   -f ssh_host_dsa_key     -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key   -N ""
ssh-keygen -t dsa   -f ssh_host_ed25519_key -N ""
  • 增加sshd用户

sshd: Privilege separation user sshd does not exist-CSDN博客

  • 缺少依赖库

我的板子缺少libz.so/libcrypto.so,复制到/lib64下,解决。

/usr/local/sbin/sshd
sshd: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directorylrwxrwxrwx    1 root     root             9 Jan  1 00:15 /lib64/libz.so -> libz.so.1
lrwxrwxrwx    1 root     root            14 Jan  1 00:15 /lib64/libz.so.1 -> libz.so.1.2.11
-rw-r-----    1 root     root        117032 Jan  1 00:15 /lib64/libz.so.1.2.11lrwxrwxrwx    1 root     root            16 Jan  1 00:15 /lib64/libcrypto.so -> libcrypto.so.1.1
-rw-r-----    1 root     root       2711280 Jan  1 00:15 /lib64/libcrypto.so.1.1
  • 检查配置文件是否正确
/usr/local/sbin/sshd -t -f /usr/local/etc/sshd_config
  • 修改配置文件,允许ROOT登录

通过SSH使用ROOT账号无法登录,提示禁止访问Access denied_ssh root拒绝访问-CSDN博客

  • 运行
/usr/local/sbin/sshd -f /usr/local/etc/sshd_configps | grep sshd
1501 root      0:00 sshd: /usr/local/sbin/sshd -f /usr/local/etc/sshd_config [listener

可以看到已经启动到后台了。可以使用ssh登录了。

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

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

相关文章

kamacoder13.镂空三角形的C语言解法

13. 镂空三角形 时间限制:1.000S 空间限制:32MB 题目描述 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角…

零拷贝技术深入分析

一、零拷贝 在前面的文章“深浅拷贝、COW及零拷贝”中对零拷贝进行过分析,但没有举例子,也没有深入进行展开分析。本文将结合实际的例程对零拷贝进行更深入的分析和说明。 在传统的IO操作中,以文件通过网络传输为例 ,一般会经历以…

go语言是如何连接mysql数据库的?

在 Go 语言中连接 MySQL 数据库通常使用第三方库。目前比较流行的 MySQL 客户端库包括 github.com/go-sql-driver/mysql、github.com/go-xorm/xorm、github.com/jmoiron/sqlx 等。下面是一个使用 github.com/go-sql-driver/mysql 库连接 MySQL 数据库的简单示例: 首…

GOPATH set to GOROOT (/usr/local/go) has no effect

这个警告信息指出 GOPATH 环境变量被设置为与 GOROOT 相同的值。GOPATH 环境变量用于指定 Go 工作区的位置,而 GOROOT 指定 Go 安装的位置。将 GOPATH 设置为 GOROOT 表示 Go 工作区和 Go 安装位置位于同一目录,这是不推荐的。为了解决此问题&#xff0c…

Zookeeper集群docker部署

集群角色 zookeeper 集群中的机器分为一下三种角色 leader:为客户端提供读写服务(事务性操作),并维护集群状态,它是由集群选举所产生的; follower:为客户端提供读(非事务性操作),转发给leader写(事务性操作),参与选举操…

K8s控制器

控制器: Deployment: Deployment概述: replicaset:自动创建pod的控制器 Delpoyment控制器: pod的名字需要唯一,在这不写名字,利用标签进行创建 replicas:表示你想要克隆的数量,selector:通过标签.识别哪个pod是我创建出来的.这里的标签和后面元数据里的标签要一致. Cluster…

NCDA设计大赛获奖作品剖析:UI设计如何脱颖而出?

第十二届大赛简介 - 未来设计师全国高校数字艺术设计大赛(NCDA)开始啦!视觉传达设计命题之一: ui 设计,你想知道的都在这里。为了让大家更好的参加这次比赛,本文特别为大家整理了以往NCDA大赛 UI 设计的优秀获奖作品&a…

【探索AI】十四深度学习之第2周:深度神经网络(三)-过拟合与正则化技术

过拟合与正则化技术 过拟合的概念 在机器学习和深度学习的领域中,过拟合(Overfitting)是一个常见且重要的问题。首先,我们来理解一下什么是过拟合。 过拟合是指模型在训练数据上表现得过于优秀,以至于在训练集上的错…

2024年腾讯云优惠券_代金券_云服务器折扣券免费领取链接

腾讯云优惠代金券领取入口共三个渠道,腾讯云新用户和老用户均可领取8888元代金券,可用于云服务器等产品购买、续费和升级使用,阿腾云atengyun.com整理腾讯云优惠券(代金券)领取入口、代金券查询、优惠券兑换码使用方法…

【SpringBean】bean的作用域和bean的生命周期

目录 前言 一 bean的作用域 1. singleton——唯一 bean 实例 2. prototype——每次请求都会创建一个新的 bean 实例 3. request——每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效 4. session——每一次HTTP请求都会产生一个新的 bean&…

程序员的金三银四求职宝典!

目录 ​编辑 程序员的金三银四求职宝典 一、为什么金三银四是程序员求职的黄金时期? 二、如何准备金三银四求职? 1. 完善简历 2. 增强技术能力 3. 提前考虑目标公司 4. 提前准备面试 三、程序员求职的常见面试题 1. 数据结构和算法 2. 数据库 …

一次电脑感染Synaptics Pointing Device Driver病毒的经历,分享下经验

没想到作为使用电脑多年的老司机也会电脑中病毒,周末玩电脑的时候突然电脑很卡,然后自动重启,奇怪,之前没出现这个情况。 重启后电脑开机等了几十秒,打开任务管理器查看开机进程,果然发现有个Synaptics Po…

LeetCode 刷题 [C++] 第121题.买卖股票的最佳时机

题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的…

php儿童服装销售管理系统计算机毕业设计项目包运行调试

php mysql儿童服装销售网 功能:前台后台 前台: 1.服装资讯 文章标题列表 详情 2.服装选购中心 分页查看图文列表 详情 3.用户注册 登陆 退出 4.服装加入收藏 5.加入购物车 6.对服装进行评论 会员中心: 1.我的账户 查看 修改 2.我的收藏 查看 …

STM32 中断流程介绍

STM32可以产生中断的事件多种多样,比如:定时器时间结束、串口接收到数据、某个GPIO检测到电平变化等等等等。 1、STM32 gpio 中断处理流程介绍 1、从引脚进入的高低电平首先由输入驱动器处理,如下图 2、经过输入驱动器处理后的信号会进…

大数据数据平台的数仓体系分类有哪些?

大数据平台的数仓体系最初由数据库发展而来,主要分为三类架构,分别是Shared-Nothing、Shared-Data、Shared-Everything。 Shared-Nothing(也称 MPP)架构在 很长一段时间成为主流。 随云原生能力增强,Snowflake 为代表…

c++基础知识补充4

单独使用词汇 using std::cout; 隐式类型转换型初始化:如A a1,,此时可以形象地理解为int i1;double ji;,此时1可以认为创建了一个值为1的临时对象,然后对目标对象进行赋值,当对象为多参数时,使用(1&#xf…

c1-周考2

c1-第二周 9月-技能1.一个岛上有两种神奇动物,其中神奇鸟类2个头3只脚,神奇兽类3个头8只脚。游客在浓雾中看到一群动物,共看到35个头和110只脚,求可能的鸟类和兽类的只数2.构建一个长度为5的数组,并且实现下列要求3.构…

鬼屋游戏c++

c #include <iostream> #include <string> #include <vector> #include <cstdlib> // 用于随机数生成 #include <ctime> // 用于随机数种子using namespace std;// 定义房间结构体 struct Room {string description;bool hasKey;bool hasClue…

babylonjs入门-自由相机 FreeCamera

基于babylonjs封装的一些功能和插件 &#xff0c;希望有更多的小伙伴一起玩babylonjs&#xff1b; 欢迎加群&#xff08;点击群号传送&#xff09;&#xff1a;464146715 官方文档 中文文档 案例传送门 懒得打字 粘贴复制 一气呵成 ​