成功移植OpenSSH到ARM Linux开发板

成功移植OpenSSH到ARM Linux开发板
概述
如果是用到一些没有SSH的开发板,对于部分的应用开发来说,会受到影响,比如使用ARM DS-5进行RSE远程管理操作时,就会出现错误。下面就具体如何进行OPENSSH移植进行详细介绍。
步骤
1.下载源码包如下,下载 openssh、openssl 和 zlib 三个包。
openssh
本地下载: openssh-6. (1.22 MB, 下载次数: 2470)
下载:www.openssh/portable.html
openssl
本地下载: openssl-1.0. (4.27 MB, 下载次数: 2647)
官方下载:/source
zlib
本地下载: zlib-1.2. (557.71 KB, 下载次数: 3499)
官方下载:www.zlib/
2.部署工作目录创建用户主目录下创建工作目录:
1
2
$ mkdir/home/gary/work
$ cd/home/gary/work
在 work 目录下面创建安装目录:
东湖电影院
1
2
$ mkdirinstall$ mkdirinstall/zlib
$ mkdirinstall/openssl
3.解压并编译
把以上下载的3个安装包复制到 work 目录下,并解压,解压命令:
1
2
$ tarzxvf zlib-1.2.
$ tarzxvf openssl-1.0.$ tarzxvf openssh-6.
a)交叉编译 zlib
1
2
3
$ cdzlib-1.2.8
国民收入决定理论$ ./configure--prefix=/home/gary/work/install/zlib
$ viMakefile
将 Makefile 中的交叉编译工具改成当前开发板使用的交叉编译工具:
1
2
3
4
5
江南命案
6
CC=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gcc
AR=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-ar
CPP=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gcc
LDSHARED=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gcc
$ make
$ makeinstall
b)交叉编译openssl
1
2
3
4
$ cd../openssl-1.0.1h
$ ./Configure--prefix=/home/gary/work/install/openssl  os/compiler:/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gcc
$ make
$ makeinstall
c)交叉编译openssh
1
2
3
$ cd  ../openssh-6.6p1
$ ./configure--host=arm-none-linux-gnueabi --with-libs --with-zlib=/home/gary/work/install/zlib--with-ssl-dir=/home/gary/work/install/openssl--disable-etc-default-login CC=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gccAR=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-ar
$ make
注意:openssh不需要make install
4.操作目标
a)确保目标板上有以下目录,若没有,则新建:
1
2
3
4
5
/usr/local/bin
/usr/local/etc
/usr/libexec
/var/run
/var/empty
b)从PC机上将以下文件拷贝到目标板Linux系统中
PC机 /home/gary/work/openssh-6.6p1/ 目录下的
scp  sftp  ssh sshd  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan 共8个文件拷贝到目标板 /usr/local/bin
moduli ssh_config sshd_config 共3个文件拷贝到目标板 /usr/local/etc
sftp-server  ssh-keysign 共2个文件拷贝到目标板 /usr/libexec
c)生成Key文件
在PC机 /work/ssh/source/openssh-6.6p1/ 目录下运行:
1
2
3
4
$ 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 ""
将生成的 ssh_host_*_key 这4个文件copy到目标板的 /usr/local/etc/ 目录下。其中 ssh_host_ed25519_key 是SSH第二版协议用到的key,放到开发板之后,要修改权限为 600,否则会提示以下错误:
1
2
3
4
5
Permissions 0644 for'/usr/local/etc/ssh_host_ed25519_key'are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
电视剧大马帮bad permissions: ignore key: /usr/local/etc/ssh_host_ed25519_key
Could not load host key: /usr/local/etc/ssh_host_ed25519_key
修改权限的命令为:
1
# chmod 600 /usr/local/etc/ssh_host_ed25519_key
d)修改目标板passwd文件。
在 /etc/passwd 文件最后添加下面这一行:
1
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
5.测试
如果开发板的 root 用户还没有密码,键入以下命令然输入两次密码来修改,否其他设备无法连:
和岳姆干的翻天覆地
1
# passwd root
什么是gsp
在目标板上运行:
1
# /usr/local/bin/sshd
可以用 ps 命令查看sshd是否在工作
如果运行的过程中有提示缺少动态连接库,可以在主机上搜索相应文件,拷贝到目标板/lib/目录下面,注意创建软连接!
OK!不出意外的话可以成功,
主机上:
1
$ sshroot@192.168.1.250(开发板的ip)
然后输入开发板的root密码就就可以了,如下图连接成功:
相关帖子
SSH 移植到 ARM Linux 开发板上错误总结ir-tech/bbs/thread-6167-1-1.html

本文发布于:2024-09-22 01:05:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/264792.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   目标   目录   下载   开发板   创建
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议