移植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. C++进阶阅读

    推荐的阅读顺序:level 1从<<essential c++>>开始,短小精悍,可以对c++能进一步了解其特性以<<c++ primer>>作字典和课 ...

  2. JMS 问题java.lang.NoClassDefFoundError: weblogic/security/acl/UserInfo

    run: Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/security/acl/User ...

  3. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...

  4. 【转载51CTO】Linux中引号那些事儿

    原文链接:http://os.51cto.com/art/201207/348855.htm 我们将把编写脚本的事情暂时搁在一边,然后来讨论一些,我们一直在用的,但是没有解释的东西.引号在这一节里面, ...

  5. Android新浪微博客户端(六)——Home界面的ListView

    原文出自:方杰|http://fangjie.info/?p=184转载请注明出处 最终效果演示:http://fangjie.info/?page_id=54该项目代码已经放到github:http ...

  6. Java高级特性之反射学习总结

    老规矩我们还是先提出几个问题,一门技术必然要能解决一定的问题,才有去学习掌握它的价值 一. 什么是反射? 二.反射能做什么? 一. 什么是反射? 用在Java身上指的是我们可以于运行时加载.探知.使用 ...

  7. iOS内存管理(一)

    最近有时间,正好把iOS相关的基础知识好好的梳理了一下,记录一下内存相关方面的知识. 在理解内存管理之前我觉得先对堆区和栈区有一定的了解是非常有必要的. 栈区:就是由编译器自动管理内存分配,释放过程的 ...

  8. IO中同步、异步与阻塞、非阻塞的区别(转)

    转自:http://blog.chinaunix.net/uid-26000296-id-3754118.html 一.同步与异步同步/异步, 它们是消息的通知机制 1. 概念解释A. 同步所谓同步, ...

  9. SKCropNode类

    继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode) NSCopying(SKNode) NSObject(NSObject) 框架 /System/ ...

  10. Unity3D之MeleeWeaponTrail武器轨迹插件的使用

    MeleeWeaponTrail是Unity Asset Store中的一个免费插件.主要是用于显示武器的轨迹. 首先,找到武器绑定的骨骼.并在骨骼以下加入轨迹显示的起点和终点. 接着,给该骨骼加入M ...