openssh 在arm linux 嵌入式平台交叉编译,100%成功运行
来源:互联网 发布:上海网络推广yes960 编辑:程序博客网 时间:2024/04/29 23:04
本文真实地址:http://blog.csdn.net/code_style/article/details/61928328
1、openssh版本,最新版本openssh-7.5P1.tar.gz,下载地址:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
2、交叉编译环境:arm-linux-gnueabi-gcc 4.8
3、由于openssh依赖zlib和openssl,所以编译openssh之前,先要编译出zlib库和openssl库,最新版本的openssh-7.5P1.tar.gz 必须配合相应的openssl版本(OpenSSL >= 0.9.8f < 1.1.x)才能编译成功,否则会出现各种宏找不到的错误 。具体编译openssh以及zlib,openssl不说了,网上一搜一大堆,推荐:http://www.veryarm.com/892.html
4、打包步骤,将以下脚本放到openssh目录下运行,可以把所有需要打包的文件自动归类到tar_openssh目录下,如果你拷贝粘贴,很可能就会出现脚本不兼容的问题(拷贝脚本到linux下,用dos2unix(sudo apt-get install dos2unix)工具修改一下文件,不然脚本运行错误)
#!/bin/shmkdir -p ./tar_openssh#scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscancp -rf scp ./tar_opensshcp -rf sftp ./tar_opensshcp -rf ssh ./tar_opensshcp -rf ssh-add ./tar_opensshcp -rf ssh-agent ./tar_opensshcp -rf ssh-keygen ./tar_opensshcp -rf ssh-keyscan ./tar_openssh#moduli ssh_config sshd_configcp -rf moduli ./tar_opensshcp -rf ssh_config ./tar_opensshcp -rf sshd_config ./tar_openssh#sftp-server ssh-keysigncp -rf sftp-server ./tar_opensshcp -rf ssh-keysign ./tar_openssh#sshdcp -rf sshd ./tar_opensshecho "all file cp to ./tar_openssh dir"
5、把以下脚本放到tar_openssh目录,再把tar_openssh目录拷贝到目标板上,修改untar_pkg.sh权限为可执行,然后运行该脚本,它会自动把文件部署到对应的目录#!/bin/shmkdir -p /usr/local/bin/ mkdir -p /usr/local/sbin/ mkdir -p /usr/local/etc/ mkdir -p /usr/local/libexec/ mkdir -p /var/run/ mkdir -p /var/empty/chmod 744 smv sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan ssh_config sftp-server ssh-keysign sshd#smv sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 拷贝到目标板/usr/local/binmv -rf smv /usr/local/bin/mv -rf sftp /usr/local/bin/mv -rf ssh /usr/local/bin/mv -rf ssh-add /usr/local/bin/mv -rf ssh-agent /usr/local/bin/mv -rf ssh-keygen /usr/local/bin/mv -rf ssh-keyscan /usr/local/bin/#moduli ssh_config sshd_config 拷贝到目标板 /usr/local/etcchmod 620 modulimv -rf moduli /usr/local/etcchmod 644 ssh_configmv -rf ssh_config /usr/local/etcchmod 600 sshd_configmv -rf sshd_config /usr/local/etc#sftp-server ssh-keysign 拷贝到目标板 /usr/local/libexecmv -rf sftp-server /usr/local/libexecmv -rf ssh-keysign /usr/local/libexec#sshd 拷贝到目标板 /usr/local/sbin/mv -rf sshd /usr/local/sbin/
6、7、在win7主机上生成私钥和公钥(直接切换到openssh安装目录,再运行,不然会提示不是内部或外部命令),Linux上是一样的命令
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 ""
8、把所有生成的key文件,包括.pub和无扩展名的,都拷贝到开发板的/usr/local/etc目录下,按照如下权限修改
#chmod 600 ssh_host_dsa_key ssh_host_rsa_key ssh_host_ecdsa_key ssh_host_ed25519_key#chmod 644 ssh_host_dsa_key.pub ssh_host_rsa_key.pub ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub
9、
#rm -rf mknod#mknod -m 666 /dev/ptmx c 5 2#chmod 666 /dev/ptmx#mkdir /dev/pts#mount /dev/pts在/etc/fstab文件中增加最后一行none /dev/pts devpts gid=5,mode=620 0 0
10、最后执行mount /dev/pts如果没有什么错误,就说明没问题了
11、运行sshd
12、sshd服务运行起来以后,在PC客户端上直接配置好对应的ssh_config文件,然后ssh登录到arm linux即可
- openssh 在arm linux 嵌入式平台交叉编译,100%成功运行
- 使用arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu交叉编译成功在板子上运行
- minicom 在arm linux平台的交叉编译
- arm linux openssh交叉编译出现如下错误
- Ubuntu 14.04 64位 嵌入式交叉编译环境arm-linux-gcc搭建 一次成功
- ARM-Linux平台的Busybox交叉编译
- 嵌入式平台arm linux 之qt 4.5交叉编译到webkit时出错解决方法
- 嵌入式 linux以及arm平台上网络设备测试工具iperf交叉编译以及使用
- lua 交叉编译在arm上运行
- 交叉编译能在arm平台上运行的Qt应用程序的步骤
- codeblocks交叉编译ARM-LINUX-GCC生成能够在ARM中运行的文件
- 在Linux平台上使用Cmake进行交叉编译替代嵌入式平台所使用的Makefile
- 嵌入式LINUX ---ARM交叉编译工具链的编译
- [转载] 在Linux下用buildroot搭建mips/arm的交叉编译平台
- 嵌入式 交叉编译环境安装arm-linux-gcc
- 交叉编译VIM并移植到ARM嵌入式Linux系统
- Linux平台下ARM-Linux交叉编译工具链
- ARM Linux 交叉编译
- 在Windows下使用Xmanager远程连接RHEL6
- 算法总结
- 使用Ionic2开发Todo应用
- Java学习 ----day1——(4)数据类型及数据类型转换
- 蓝桥杯 -- 历届试题 数字游戏【数学题,值得一看】
- openssh 在arm linux 嵌入式平台交叉编译,100%成功运行
- 快速学sass(三)--输出方式
- C#116课的主要内容
- LeetCode 116. Populating Next Right Pointers in Each Node
- cPanel X FTP上传
- 强化学习入门第一讲 马尔科夫决策过程
- IO的分层(转)
- u-boot源码分析(2440第一阶段)
- Python学习之路-历史以及开发环境