移植Openssh到开发板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移植Openssh到开发板相关的知识,希望对你有一定的参考价值。

1、下载源码 zlib,openssl , openssh,配置编译链,编译,安装。大致的配置如下:

编译zlib
./configure --prefix=/home/potato/openssl/install/zlib-1.2.3
make
make install

编译openssl
./Configure --prefix=/home/potato/openssl/install/openssl-0.9.8e  os/compiler:arm-linux-gcc
make
make install

编译openssh
/configure --host=arm-linux  --with-zlib=/home/potato/openssl/install/zlib-1.2.3 --with-ssl-dir=/home/potato/openssl/install/openssl-0.9.8e --disable-etc-default-login --disable-strip CC=arm-linux-gcc AR=arm-linux-ar

 

主机是Centos,编译过程中,如果缺少什么动态链接库,可使用yum whatprovides 查找相关项。

例:
编译zlib时缺少libstdc++.so.6

 yum whatprovides libstdc++.so.6

[[email protected] zlib-1.2.8]# yum whatprovides libstdc++.so.6        
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
libstdc++-4.4.7-17.el6.i686 : GNU Standard C++ Library
Repo        : base
Matched from:
Other       : libstdc++.so.6



libstdc++-4.4.7-17.el6.i686 : GNU Standard C++ Library
Repo        : installed
Matched from:
Other       : Provides-match: libstdc++.so.6

yum install libstdc++-4.4.7-17.el6.i686 后重新编译即可。

 

2、openssh编译成功后生成各种需要的文件,在开发板系统中建立必需的目录并将各文件移入相应的目录中。

mkdir -p  /usr/local/bin/  ( scp  sftp  ssh  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan)

mkdir -p  /usr/local/etc/ (moduli  ssh_config  sshd_config)

mkdir -p  /usr/local/libexec/ (sftp-server  ssh-keysign)

mkdir -p  /usr/local/sbin/  (sshd)

mkdir -p  /var/run/

mkdir -p /var/empty/   

这里要注意的是 /var/empty/的权限问题,除了所有者,其他不允许拥有写权限

/var/empty must be owned by root and not group or world-writable.

chmod 755 /var/empty/

3、添加sshd用户

如果目标板系统busybox带的有adduser,则可以直接adduser sshd。没有的话就直接修改/etc/passwd   /etc/group 文件进行添加。

4、启动sshd

启动sshd后SSH登陆出现没有shell   sshd: [email protected] 问题。

1、/usre/local/etc/sshd_config 修改允许root登陆
2、mknod /dev/ptmx c 5 2  权限为666
3、mkdir /dev/pts
4、修改 /etc/fstab,添加devpts         /dev/pts     devpts gid=5,mode=620  0     0
5、mount /dev/pts

 

目标板系统开机启动sshd

系统启动时会执行特定的脚本,如rcS,可在里面添加,静态配置IP,然后启动SSHD服务,记住这个IP,以后就可以直接登录了。

 

以上是关于移植Openssh到开发板的主要内容,如果未能解决你的问题,请参考以下文章

移植opencv到开发板,摄像头在开发板6410上的采集使用

Linux系统移植:原厂 Kernel 移植到开发板

Linux系统移植:原厂 Kernel 移植到开发板

S3C2440的开发板能移植android系统吗

qt 移植到开发板

移植opencv到开发板,摄像头在开发板6410上的采集使用