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

移植openssh到nuc951 evb板的更多相关文章

  1. 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上

    在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...

  2. live555 交叉编译移植到海思开发板

    本文章参考了.http://blog.csdn.net/lawishere/article/details/8182952,写了hi3518的配置说明.特此感谢 https://blog.csdn.n ...

  3. 移植Mplayer到OK6410开发板

    移植Mplayer到OK6410开发板 作者:vasage 项目需要,需要将Mplayer移植到开发板上,所以今天花了一下下午成功移植,其中参考很多文档,后发现许多文档陈旧,些许文档有少量错误,所以这 ...

  4. 移植BOA服务器到开发板

    移植BOA 服务器到GEC210 开发板 开发平台主机:VMWare--Ubuntu 10.04 LTS开发板:GEC210 / linux-2.6.35.7编译器:arm-linux-gcc-4.5 ...

  5. 移植openssh到arm linux

    一.在移植之前需要准备做一些前期准备: 1.移植zlib库 1.1获取zlib源码 1.2解压 tar xvf zlib-1.2.11.tar.xz 1.3交叉编译 1.3.1 指定交叉编译器 exp ...

  6. u-boot 移植 --->4、Tiny210核心板的DDR初始化下详解

    RAM的原理简单学习 DDR是RAM的一种,RAM常见的类型有SRAM,SDRAM,DDR他们的共同特点是,随机存储意味着读写速度快,掉电后数据丢失,所以常用来存储程序中的变量. SRAM 静态随机存 ...

  7. Linux移植到自己的开发板(二)UBOOT和Linux

    @ 目录 一.uboot跳转到Linux 二. Linux内核启动之解压阶段 三. Linux内核启动之汇编阶段 插曲:关于Kconfig和Makefile 四. Linux内核启动之C语言阶段 五. ...

  8. (原创)AP6212移植到AM335X自主开发板上

    转载请指明出处. 参考<关于AM335X移植SDIO WIFI的简易教程> http://www.deyisupport.com/question_answer/dsp_arm/sitar ...

  9. Linux移植到自己的开发板(三)根文件系统

    @ 目录 1 Linux内核配置 2 ramdisk制作 3 busybox配置 4 genext2fs生成镜像 为了快速调试,采用ramdisk进行根文件系统测试.要使内核能挂载ramdisk根文件 ...

随机推荐

  1. Android 之 WebView

    1:在AndroidManifest.xml中添加允许android访问网络权限. <uses-permission android:name="android.permission. ...

  2. linux下svn修改用户名和密码

    1.临时更换,在命令下强制加上 --username 和--password选项, 例如:svn up --username zhangsan --password 123456 svn co URL ...

  3. HDOJ 1098 Ignatius's puzzle

    Problem Description Ignatius is poor at math,he falls across a puzzle problem,so he has no choice bu ...

  4. Topcoder 好题推荐

    SRM SRM147 DIV1 1000pt DP SRM148 DIV1 1100pt 递归 SRM149 DIV1 1000pt math SRM150 DIV1 500pt DP SRM469 ...

  5. java中Object相关的几个方法

    protected Object clone()创建并返回此对象的一个副本. String     toString()返回该对象的字符串表示. boolean equals(Object obj)指 ...

  6. Exception in thread "main" com.sun.xml.internal.ws.streaming.XMLStreamReaderException: unexpected XML tag.

    webservice 抛异常,原因: public class HeaderHandler implements SOAPHandler<SOAPMessageContext>{ @Ove ...

  7. raid5什么意思?怎样做raid5?raid5 几块硬盘?

    一.raid什么意思? RAID是"Redundant Array of Independent Disk"的缩写,raid什么意思了?说白了,中文翻译过来通俗的讲就是磁盘阵列的意 ...

  8. Android BaseAdapter Gallery 画廊视图 (左右拖动图片列表拖至中间时图片放大显示)

    画廊视图使用Gallery表示,能够按水平方向显示内容,并且可以手指直接拖动图片和移动,一般用来浏览图片,,被选中的选项位于中间,并且可以响应事件显示信息.在使用画廊视图时,首先在屏幕上添加Galle ...

  9. [Redux] Store Methods: getState(), dispatch(), and subscribe()

    console.clear(); const counter = (state = 0, action) => { switch (action.type) { case 'INCREMENT' ...

  10. setWillNotDraw和setFillViewport

    Romain Guy write a little info about a ScrollView attribute that is missing  from documentation : An ...