关闭

移植ssh到fl2440

525人阅读 评论(0) 收藏 举报

下载文件

openssh-4.6p1.tar.gz http://www.openssh.com/portable.html

openssl-0.9.8e.tar.gz http://www.openssl.org/source

zlib-1.2.3.tar.tar http://www.zlib.net/

 ssh服务需要依赖zlib和ssl库

交叉编译 zlib

./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

./Configure --prefix=/EmbSSH/install/openssl-0.9.8e  os/compiler:arm-linux-gcc
make
make install


交叉编译openssh
./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

make


去除多余调试信息

#arm-linux-strip *


 安装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中,这样服务就能开机自动启动。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:46778次
    • 积分:547
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:15篇
    • 译文:0篇
    • 评论:3条