移植openssh到nuc951evb板

移植openssh到nuc951evb板

移植opensshnuc951 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

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值