openssh交叉编译

摘要:
下载源包:opensshhttp://www.openssh.com/portable.htmlopensslhttp://www.openssl.org/sourcezlibhttp://www.zlib.net/推荐版本:zlib-1.2.11.tar。gz,openssl-1.02q.tar。gz,打开ssh-8.2p1.tar.gzmk直接压缩至安装位置

下载源码包:
openssh http://www.openssh.com/portable.html
openssl http://www.openssl.org/source
zlib    http://www.zlib.net/
推荐版本:zlib-1.2.11.tar.gz,openssl-1.0.2q.tar.gz,openssh-8.2p1.tar.gz

mkdir compressed install source
compressed 用于存放源码包
install    软件安装目录
source     源码包解压目录

cd zlib
prefix=~/work/ssh/install/zlib CC=arm-himix410-linux-gcc AR=arm-himix410-linux-ar ./configure

如果需要生成so库的话需要加上 --shared

vim Makefile
CC=arm-himix410-linux-gcc
CPP=arm-himix410-linux-g++
AR=arm-himix410-linux-ar
make
make install


cd openssl
./Configure --prefix=~/work/ssh/install/openssl os/compiler:arm-himix410-linux-gcc -fPIC no-asm shared
make CC=arm-himix410-linux-gcc AR=arm-himix410-linux-ar
make install


cd openssh
./configure --host=arm-himix410-linux --with-libs --with-zlib=~/work/ssh/install/zlib --with-ssl-dir=~/work/ssh/install/openssl --disable-etc-default-login CC=arm-himix410-linux-gcc AR=arm-himix410-linux-ar
make


操作目标板:
确保目标板有以下目录,如果没有则新建:
/usr/local/bin
/usr/local/etc
/usr/local/libexec
/var/run
/var/empty/sshd

chown -R root.root /var/empty/sshd
chmod 744 /var/empty/sshd

将 openssh 目录下文件拷贝到开发板系统中,具体为:
scp、sftp、ssh 、ssh-add、ssh-agent、ssh-keygen、ssh-keyscan 共7个文件拷贝到开发板 /usr/local/bin
moduli、ssh_config、sshd_config 共3个文件拷贝到开发板 /usr/local/etc
sftp-server、ssh-keysign 共2个文件拷贝到开发板 /usr/local/libexec
sshd 拷贝到 /usr/sbin
chmod 777 /usr/sbin/sshd
libz.so.1.2.11 拷贝到开发板 /lib (必须放在/lib下,不然scp会找不到这个库)
然后建立软链接:
ln -s libz.so.1.2.11 libz.so.1


生成key文件:
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""
将生成的 ssh_host_rsa_key 、 ssh_host_dsa_key 和 ssh_host_ecdsa_key 拷贝到 /usr/local/etc
chmod 600 ssh_host_*
#如果开发板需要 ssh_host_key 的话,执行:
#ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""

如果出现 privilege separation user sshd 问题:
在 /etc/passwd 增加以下:
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
或者修改 /etc/ssh/sshd_config (这会降低ssh的安全性):
UsePrivilegeSeparation yes 改成 UsePrivilegeSeparation no

测试:
/usr/sbin/sshd
用 ps ax 查看 sshd 是否运行


ssh root登录:
修改 sshd_config
PermitRootLogin yes
StrictModes yes
PermitEmptyPasswords yes

修改 ssh_config
StrictHostKeyChecking no

重启系统 reboot


设置ssh开机自启动:
在/etc/init.d/S90app
添加:/usr/sbin/sshd

免责声明:文章转载自《openssh交叉编译》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇请自行检查是否安装VC9运行库??初识Lua——OpenWrt路由界面配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

HAProxy配置代理

1.代理需求 原始URL:https://www.xxx.com/mili_app/News/NewsServlet.do?processID=getNewsList&type=1&page=1&pageSize=20 跳转URL:http://www.ooo.com/News/NewsServlet.do?processID=ge...

一个相见恨晚的idea上的小功能——通过idea直接操作Linux上的文件

因为学习原因,平时自己操作虚拟机需要修改和增加很多文件。 而在Linux系统里的vim,有时候确实还是不及外面idea上用的爽。 在偶然下发现idea可以支持操作虚拟机上的文件,让我高兴不已,废话不多说,直接走流程,其实也很简单。 第一步,保证Linux是开启的 第二部,在idea上,按照如下点击 我自己的是2019.2的版本,后续版本可能有些显示内容不...

linux初级学习笔记三:linux操作系统及常用命令,及如何复制和移动文件!(视频序号:02_4)

本节学习的命令:cp,mv,install,du,read  本节学习的技能:文件的移动与复制 cp( copy):复制和移动文件 cp SRC DEST     -r:递归复制一个目录及其目录中的所有文件     -i:如果目标文件存在,则提示要不要覆盖     -f:强行复制 (如果目标文件存在,则直接覆盖,如果无法打开现有的目标文件,删除再复制。)...

Linux中断信号的查看

中断号的查看可以使用下面的命令:“cat /proc/interrupts”。 中断号的查看也可以使用下面的命令:“cat /proc/stat” 记录了几个关于系统活动的低级统计量, 包括(但是不限于)自系统启动以来收到的中断数. stat 的每一行以一个文本字串开始, 是该行的关键词; intr 标志是我们在找的irq函数定义:/kernel/irq/...

Linux系统目录结构

Linux系统目录结构图 目录:/ 是Linux的根目录 每个文件和目录从根目录开始,只有root用户具有该目录下的写权限; /root是root用户的主目录,这与 / 目录不一样; 目录:/bin 用户二进制文件目录 包含二进制可执行文件; 在单用户模式下,需要使用的常见linux命令都位于该目录下;系统的所有用户使用的命令都设置在这里; 目录:/sb...

002输入子系统驱动

输入子系统概念介绍(第十三课/第一节) 回顾第三个驱动程序(中断方式的按键驱动程序)和测试程序,发现有一些缺点:这个驱动程序没办法用在别人写的现成的应用程序上(比如:QT),因为别人写的应用程序肯定不会来打开你这个"/dev/third_chrdev"。别人打开的是一些现成的设备(比如:/dev/tty),甚至别人都不打开设备,而是直接调用 scanf()...