移植openssh至嵌入式ARM开发板

发布时间:2024-08-12  

CPU:AT91SAM9G20

Linux内核:2.6.30

板子拿到手其中的telnet服务不好用,所以就想着移植一个ssh的服务器上去。

2. 首先下载源码包: openssh-4.6p1.tar.gz http://www.openssh.com/portable.html openssh-3.5p1.rar   (我在windows下又压缩了一下,所以要重新在windows下解压一下) openssl-0.9.8e.tar.gz http://www.openssl.org/source zlib-1.2.3.tar.tar http://www.zlib.net/。 zlib-1.2.3.rar   。

ssh服务需要依赖zlib和ssl库。

当然编译工具要准备好了,我用的是arm-liunx-gcc,安装在ubuntu 10上。

 

3.  交叉编译 建立目录结构 /EmbSSH compressed 用于存放源码包 Install    软件安装目录 Source    源码包解压目录 将openssh-4.6p1.tar.gz、openssl-0.9.8e.tar.gz、zlib-1.2.3.tar.tar四个文件放到compressed目录下

交叉编译 zlib cd /EmbSSH/compressed/ tar xvf zlib-1.2.3.tar.tar -C ../source cd ../source/zlib-1.2.3 ./configure --prefix=/EmbSSH/install/zlib-1.2.3 修改Makefile中的如下信息 CC=arm-linux-gcc AR=arm-linux-ar rc CPP =arm-linux-gcc -E LDSHARED=arm-linux-gcc

执行 make make install

交叉编译openssl cd /EmbSSH/compressed/ tar zxvf openssl-0.9.8e.tar.gz -C ../source cd ../source/openssl-0.9.8e ./Configure --prefix=/EmbSSH/install/openssl-0.9.8e  os/compiler:arm-linux-gcc

make make install

交叉编译openssh cd /EmbSSH/compressed tar zxvf openssh-4.6p1.tar.gz C ../source cd ../source/openssh-4.6p1 ./configure --host=arm-linux --with-libs --with-zlib=/EmbSSH/install/zlib-1.2.3 --with-ssl-dir=/EmbSSH/install/openssl-0.9.8e --disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar

打印出如下信息: OpenSSH has been configured with the following options: User binaries: /usr/local/bin ........ Linker flags: -L/EmbSSH/install/openssl-0.9.8e/lib                    -L/EmbSSH/install/zlib-1.2.3/lib Libraries:   -lresolv -lcrypto -lutil -lz -lnsl  -lcrypt

执行make,不需要执行make install 至此需要编译的文件已经完成。

 

4.  安装sshd到开发板

在板子/usr/local建立文件夹bin etc libexec sbin share 将/EmbSSH/source/openssh-4.6p1目录中编译好的目标文件 scp  sftp  ssh  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan 复制到板子或镜像/usr/local/bin目录中(也可以放在/bin); moduli  ssh_config  sshd_config复制到/usr/local/etc; sftp-server  ssh-keysign复制到/usr/local/libexec目录(也可以放在/usr/libexec); sshd复制到/usr/local/sbin目录(也可以放在/sbin或/usr/sbin);

建立sshd用户 可以直接修改/etc/passwd、/etc/group文件 在passwd中加入 sshd::103:103::/var/run/sshd:/bin/sh 在group中加入 sshd:*:103:

执行 ssh-keygen -t rsa1 -f ssh_host_key -N "" ssh-keygen -t rsa -f ssh_host_rsa_key -N "" ssh-keygen -t dsa -f ssh_host_dsa_key -N "" 将生成的文件复制到/usr/local/etc目录中。

建立目录/var/empty

启动sshd服务 /usr/local/sbin/sshd(或/usr/sbin/sshd或/sbin/sshd)

此时就可以使用ssh客户端连接开发板了。

也可以将

mkdir -p /var/empty /usr/local/sbin/sshd(或/usr/sbin/sshd或/sbin/sshd)

放置在/etc/init.d/rcS中,这样服务就能开机自动启动。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>