移植openssh到nuc951evb板
移植openssh到nuc951evb板
移植openssh到nuc951 evb板
一应用环境:
硬件:nuc951evb
软件:linux2.6.35 bsp
二交叉编译openssl openssh
1.下载
openssl-1.0.1e.tar.gz:
地址: http://www.openssl.org/source/
openssh-4.6p1.tar.tar
http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/
2.交叉编译openssl
解压
#tar zxvf openssl-1.0.1e.tar.gz
#cd openssl-1.0.1e
配置
#./Configure --prefix=/extend/cjli/openssh/openssl os/compiler:arm-linux-gcc
编译安装
#make
#make install
3.交叉编译openssh
解压
#tar zxvf openssh-4.6p1.tar.tar
#cd openssh-4.6p1
配置
./configure \
--host=arm-linux \
--with-libs \
--with-ssl-dir=/extend/cjli/openssh/openssl \
--disable-etc-default-login \
--disable-strip \
CC=arm-linux-gcc \
AR=arm-linux-ar
编译安装
#make
出现错误
tend/cjli/applications/openssh/openssh-4.6p1/openbsd-compat/port-tun.c:215: undefined reference to `bcopy'
用memcpy替换bcopy
打开port-tun.c,在文件中增加如下定义:
#define bcopy(s,d,n) memcpy((d),(s),(n))
再次编译
#make
编译成功
四安装openssh到目标板文件系统
1.将sshd复制到目标板文件系统的usr/ sbin目录
2.复制相关程序文件
copy scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan到目标板的usr/local/bin目录下;
copy sftp-server ssh-keysign到目标板usr/local/libexec下;
3.复制配置文件
将sshd_config,ssh_config复制到目标板usr/local/etc下
4.在目标上建立sshd需要的目录
#mkdir –p var/run
#mkdir –p var/empty/sshd
#chmod 755 var/empty
5. 在主机上制作公钥和私钥
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 ""
将生成的6个文件复制到目标板usr/local/etc目录下
6.添加用户
有两种方法可以采用:
A 将主机上 /etc/目下的 passwd, shadow, group三个文件copy到目标板的 /etc目录下,同时记得将passwd的最后 /bin/bash该为 /bin/sh。
删除不需要的一些用户
或者
B在目标板的passwd中添加sshd用户:
sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin
在shadow中也添加对应的项就行了:
sshd:!:14069:0:99999:7:::
五运行
1.将制作好的文件系统下载到开发板,启动系统
2.在目标板上运行sshd
#/usr/sbin/sshd
3.主机连接目标板
$ssh -v root@10.130.249.120
六运行问题及解决办法
1.运行sshd错误
/var/empty must be owned by root and not group or world-writable.
解决
#chown -R root:root /var/empty
2. 连接时可以通过密码验证,但无法进入终端
出现如下错误
PTY allocation request failed on channel 0
解决办法:
修改rcS文件增加如下两行:
/bin/mkdir /dev/pts
/bin/mount -t devpts devpts /dev/pts
重新启动开发板
参考文档:
http://blog.csdn.net/songbohr/article/details/5540025