ARM 交叉编译搭建SSH

一、源码下载

zlib:zlib-1.3.1.tar.xz

openssl:openssl-0.9.8d.tar.gz

openssh:openssh-4.6p1.tar.gz

二、交叉编译

1、zlib

编译参考这里

2、openssl

tar -xf openssl-0.9.8d.tar.gz
./Configure --prefix=/opt/ssh/openssl os/compiler:arm-linux-gcc
make -j8
sudo make instal


3、openssh

tar -xf openssh-4.6p1.tar.gz
./configure --host=arm-linux --with-libs --with-zlib=/opt/ssh/zlib \
--with-ssl-dir=/opt/ssh/openssl --disable-etc-default-login \
CC=arm-linux-gcc AR=arm-linux-ar 
make -j8不用make install 
完成后当前目录下会生成SSH可执行文件

三、安装SSH

1、配置文件

首先,确保目标板上有以下目录

/usr/local/bin/
/usr/local/sbin/
/usr/local/etc/
/usr/local/libexec/
/var/run/
/var/empty/
chmod 755 /var/empty

然后,拷贝相关文件到开发板

复制 sshd 到开发板的 /usr/local/sbin/
复制 scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 到开发板的 /usr/local/bin
复制 sftp-server ssh-keysign 到 /usr/local/libexec
复制 sshd_config ssh_config 到 /usr/local/etc/

2、生成Key文件

在开发板上,进入/usr/local/etc/目录,执行以下命令生成key:

../bin/ssh-keygen -t rsa1 -f ssh_host_key -N ""
../bin/ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
../bin/ssh-keygen -t dsa -f ssh_host_dsa_key -N ""

修改当前目录下sshd_config文件,将 /etc/ssh 改为 /usr/local/etc

#  HostKey for protocol version 1
HostKey /etc/ssh/ssh_host_key  》》》 HostKey /usr/local/etc/ssh_host_key
#  HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key 》》》 HostKey /usr/local/etc/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key 》》》 HostKey /usr/local/etc/ssh_host_dsa_key

3、设置系统时间

如果开发板时间是1970需要设置为当前时间,否则ssh登录一直报错:

date -s "2024-05-09 16:21"

4、设置root密码

passwd root

5、添加用户

复制PC机 /etc 下的 passwd shadow group 到开发板 /etc 下,并将passwd文件里的 /bin/bash 改为 /bin/sh .

.

四、启动SSH

绝对路径启动sshd

/usr/sbin/sshd

可能出现的错误:

Permissions 0755 for '/usr/local/etc/ssh_host_dsa_key' are too open.
//将开发板/usr/local/etc/下的key文件 ssh_host_* 权限改为700。Permission denied (publickey,password,keyboard-interactive).
//打开开发板/usr/local/sshd_config,将PermitRootLogin yes前的注释“#”号去掉。
主机: $  ssh root@10.10.82.45(开发板的ip)//root密码就是开发板root密码,如果没有设置,用passwd root设置。

觉得有帮助的话,打赏一下呗。。

           

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

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

相关文章

android设计模式-builder模式

builder模式可以看成是链式调用,如,是builder不是那个bunder new AlertDialog.Builder(this) .setTitle("对话框") .setMessage("测试") .setIcon(R.mipmap.ic_launcher) …

2024年抖店保证金交多少?保证金常见问题解答,一文解决你所有疑惑

大家好,我是电商花花 新手如果想要开抖音小店,有一个大坑是必须要避开的。 就是我们店铺开通之后,我们一定要交保证金,如果不交,那就是0元开店。 很多新手听别人说做抖音小店可以0元开店,不用缴纳保证金就…

Voronoi路径规划探索

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言Voronoi图的生成与更新Voronoi路径规划探索2.维诺图Voronoi的生成--避障路径Voronoi Planner一、生成与更新代价地图costmap的方式二、生成与更新D…

开箱机选型“避坑”指南:风险识别与应对策略一网打尽

在现代化生产线上,开箱机作为关键设备之一,其选型过程的成功与否直接关系到生产效率与成本控制。然而,在选型过程中,往往会面临诸多风险,如何有效识别并应对这些风险,成为企业关注的焦点。星派将为您详细解…

JETBRAINS IDES 分享一个2099通用试用码!DataGrip 2024 版 ,支持一键升级

文章目录 废话不多说上教程:(动画教程 图文教程)一、动画教程激活 与 升级(至最新版本) 二、图文教程 (推荐)Stage 1.下载安装 toolbox-app(全家桶管理工具)Stage 2 : 下…

[解决方法]echarts地图/图表缩放,侧边栏导致样式自适应问题

🔎嘿,这里是慰慰👩🏻‍🎓,会发各种类型的文章,智能专业,从事前端🐾 🎉如果有帮助的话,就点个赞叭,让我开心一下!&#x1f…

百度Comate插件领50京东E卡

给你分享一个AI编码助手——百度Comate!扫码参与抽红包活动,520宠粉!送京东卡!https://url.xffjs.com/sMsP7m 流程如下 点击:点我传送 验证码登录账户 点击个人中心 复制License 去idea或者vscode安装插件 询问一…

Mysql的语句执行很慢,如何分析呢?

想象一下,MySQL像是一本巨大的电子相册,里面存放着各种照片(数据)。当你想要找某张照片时,如果相册没有整理,你可能需要一张张翻看,这自然就慢了。但如果你给相册里的照片分了类,贴上…

【Redis】Redis 主从集群(二)

1.哨兵机制原理 1.1.三个定时任务 Sentinel 维护着三个定时任务以监测 Redis 节点及其它 Sentinel 节点的状态 1)info 任务:每个 Sentinel 节点每 10 秒就会向 Redis 集群中的每个节点发送 info 命令,以获得最新的 Redis 拓扑结构 2&#xff…

RabbitMQ的基本组件有哪些?

RabbitMQ的基本组件有哪些? RabbitMQ介绍、解耦、提速、削峰、分发 详解、RabbitMQ安装 可视化界面讲解 RabbitMQ 不生产消息,他是消息的搬运工。 1. Producer: 消息的发布者。 2. Connection:producer/comsumer 和 Message Broker 之间的 TCP 连接。 3…

创建线程的方法(windows)

引用:windows程序员面试指南 windows上常用的创建线程的方法:CreateThread(),_beginthread(),std::thread 1.CreateThread() CreateThread 是 windows 提供的 api,用法如下: HANDLE CreateThread([in, …

JavaGUI---JavaFX---未完结

一、Java事件处理机制的应用 JavaFX:JavaFX是Java平台上的一个GUI工具包,它提供了一些内置的事件处理机制。 Swing:Swing是Java平台上的另一个GUI工具包,它也提供了一些内置的事件处理机制。 二、JavaFX和Swing的关键区别&…

20232906 2023-2024-2 《网络与系统攻防技术》第十次作业

20232906 2023-2024-2 《网络与系统攻防技术》第十次作业 1.实验内容 一、SEED SQL注入攻击与防御实验 我们已经创建了一个Web应用程序,并将其托管在http://www.seedlabsqlinjection.com/(仅在SEED Ubuntu中可访问)。该Web应用程序是一个简…

算法day08

第一题 1. 两数之和 由上述题意所知,本题要采用二分法的解题思路,二分法主要是面向有序的数组且也满足二段性的数组,所谓二段性就是在一定的规则下能把该数组分成两个部分; 本题注意要点: 1、循环结束的条件&#xff…

行为决策树

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言行为决策树前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对** 行为决策树**做个简单的介绍,具体内容后…

从国内盲盒小程序看国外市场的发展机遇与挑战

近年来,随着国内电商市场的蓬勃发展,盲盒小程序作为一种新兴的电商模式,以其独特的购物体验和创新的营销策略,迅速赢得了广大消费者的喜爱。然而,随着国内市场逐渐趋于饱和,许多盲盒小程序开始寻求海外市场…

【Leetcode每日一题】 综合练习 - 括号生成(难度⭐⭐)(76)

1. 题目解析 题目链接:22. 括号生成 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 问题描述 我们需要找出所有可能的、有效的括号序列。一个有效的括号序列指的是一个仅由(和)组成的字符串,…

ssm132医院住院综合服务管理系统设计与开发+vue

医院住院综合服务管理系统的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对医院住院信息管理混乱&…

【高阶数据结构(四)】图的最短路径问题

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:高阶数据结构专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多数据结构   🔝🔝 高阶数据结构 1. 前言2. 单源最短…