移植openssh服务器到ARM处理器上
来源:互联网 发布:交易猫软件下载 编辑:程序博客网 时间:2024/05/18 03:20
https://wenku.baidu.com/view/9f05216eaf1ffc4ffe47ac47.html移植opensshd到ARM开发板上1. 环境 硬件环境: Host:X86PC Target:ARM 开发板 软件环境: Host:VMware虚拟机下的redhat linux 9.0(完全安装) Target:arm-linux kernel:linux-2.6.13 Crosstool: arm-linux-gcc-4.2.0 2. 准备以下源码包(下载) 下载zlib: http://www.zlib.net/zlib-1.2.3.tar.gz 下载ssl: http://www.openssl.org/source/openssl-0.9.8e.tar.gz 下载ssh: http://mirror.mcs.anl.gov/openssh/portable/openssh-4.6p1.tar.gz 3. 交叉编译 (1) 准备工作 在redhat linux 9.0下新建工作目录 mkdir /ssh 工作目录 cd /ssh 进入工作目录 mkdir compressed install source 再新建三个目录 mkdir intall/zlib-1.2.3 install/openssl-0.9.8e compressed 用于存放源码包 install 软件安装目录 source 源码包解压目录 说明:把第2步下载的源码包放到compressed目录中 (2) 交叉编译zlib cd /ssh/compressed/ tar xzvf zlib-1.2.3.tar.gz -C ../source cd ../source/zlib-1.2.3 ./configure --prefix=/ssh/install/zlib-1.2.3 修改Makefile: CC=gcc 改为: CROSS=/usr/local/arm/3.4.1/bin/arm-linux- CC=$(CROSS)gcc LDSHARED=gcc 改为: LDSHARED=$(CROSS)gcc CPP=gcc -E 改为: CPP=$(CROSS)gcc -E AR=ar rc 改为: AR=$(CROSS)ar rc make make install (3) 交叉编译openssl cd /ssh/compressed/ tar zxvf openssl-0.9.8e.tar.gz -C ../source cd ../source/openssl-0.9.8e ./Configure --prefix=/ssh/install/openssl-0.9.8e os/compiler:/usr/local/arm/3.4.1/bin/arm-linux-gcc make make install (4)交叉编译openssh cd /ssh/compressed tar zxvf openssh-4.6p1.tar.gz –C ../source cd ../source/openssh-4.6p1 ./configure --host=arm-linux --with-libs --with-zlib=/ssh/install/zlib-1.2.3 --with-ssl-dir=/ssh/install/openssl-0.9.8e --disable-etc-default-login CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc AR=/usr/local/arm/3.4.1/bin/arm-linux-ar make ##不要make install 4. 安装 (1) 将 openssh-4.6p1目录下的 sshd 拷贝到 目标板的/usr/sbin目录下 (2) 再拷贝 scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 到目标板/usr/local/bin目录下 (3) 拷贝 sftp-server ssh-keysign 到/usr/local/libexec目录下 (4) 在目标板下: mkdir -p /usr/local/etc/ mkdir -p /var/run; mkdir -p /var/empty/sshd chmod 755 /var/empty 然后将openssh-4.6p1下的sshd_config, ssh_config 拷贝到/usr/local/etc/目录下 (5)在主机上:(openssh-4.6p1目录下),重新编译x86平台 并且用超级终端运行如下命令 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 "" 将生存的 ssh_host_* 6个文件(即ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_key ssh_host_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub )拷贝到目标板的 /usr/local/etc/目录下 (6)修改目标板根文件系统/etc目录下的 passwd 和group文件,添加上sshd用户和组,步骤如下: cd /etc vi passwd 在打开的passwd文件修改后如下所示: root::0:0:root:/:/bin/sh bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/sbin: nobody:*:99:99:Nobody:/: sshd:*:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin―――添加sshd用户 vi group 在打开的group文件修改后如下所示: root:*:0:daemon:*:1:bin:*:2:sys:*:3:adm:*:4:tty:*:5:disk:*:6:lp:*:7:mail:*:8:news:*:9:uucp:*:10:man:*:12:proxy:*:13:kmem:*:15:dialout:*:20:fax:*:21:voice:*:22:cdrom:*:24:floppy:*:25:tape:*:26:sshd:*74:-------------添加sshd组 sudo:*:27:audio:*:29:dip:*:30:www-data:*:33:backup:*:34:operator:*:37:list:*:38:irc:*:39:src:*:40:gnats:*:41:shadow:*:42:utmp:*:43:video:*:44:sasl:*:45:plugdev:*:46:staff:*:50:games:*:60:users:*:100:mysql:*:64001:nogroup:*:65534: (7)修改sshd_config文件如下选项,其他按默认配置: # HostKey for protocol version 1 HostKey /usr/local/etc/ssh_host_key #HostKeys for protocol version 2 HostKey /usr/local/etc/ssh_host_rsa_key HostKey /usr/local/etc/ssh_host_dsa_key PermitRootLogin yes――允许根用户登陆 PermitEmptyPasswords yes――允许使用空密码,即不需要密码 UsePrivilegeSeparation no――把安全级别降低,因为不会连接互联网 # override default of no subsystems Subsystem sftp /usr/local/libexec/sftp-server ――指定sftp服务路径,否则将不能启动sftp服务,将不能进行文件的上传和下载 (8)在开发板上(即目标板)启动sshd 此时的你只要等开发板启动好之后启动sshd服务了,使用绝对路径来启动。 /usr/local/sbin/sshd 上述启动命令可以写进启动脚本文件里,我把它添加到开发板上的/etc/init.d/rcS脚本里,系统启动完后就能提供sshd服务。 (9)特别注意的是 应用X86平台编译 当前版本的 host_key: cd /ssh/compressed/openssh-4.6p1 ./configure make ./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 "" 生成相应版本的host_key(10)Starting sshd:/var/empty/sshd must be owned by root and not group or world-writable. [FAILED]这个是权限的问题可采取以下两步解决chown -R root.root /var/empty/sshdchmod 744 /var/empty/sshdservice sshd restart就可以解决上述的问题chown -R root.root /var/empty/
0 0
- 移植openssh服务器到ARM处理器上
- 移植OpenSSH到arm手记
- 移植OpenSSH到arm手记
- 移植OpenSSH到ARM板
- OpenSSH移植到ARM Linux教程
- 移植Openssh到ARM Linux目标板
- OpenSSH ARM移植
- 移植嵌入式Linux到ARM处理器
- 移植嵌入式Linux到ARM处理器S3C241
- goAhead 2.5 嵌入式web服务器 移植到 ARM 板上
- μCOS-II移植到ARM处理器上的几个要点
- 移植boa服务器到ARM
- ffmpeg移植到arm上
- SSH 移植到ARM上
- libzdb移植到ARM上
- glib移植到ARM上
- arm上安装openssh
- OpenWRT移植到三星S5PV210处理器上
- AutoMapper运用实例
- THE MATRIX PROBLEM HDU 3666 UVALive
- 尽量用++i 而不是 i++
- 机器学习那些事
- hdu1404 sg
- 移植openssh服务器到ARM处理器上
- 湖北工业职业技术学院联合武汉美斯坦福骗取学生每年除学费外8000元
- nginx配置
- JQuery学习随笔
- Eclipse设置、调优、使用
- Go的50度灰:Golang新开发者要注意的陷阱和常见错误
- mtk hal层smoothzoom(缩放)分析
- tomcat,apache
- Android Glide图片加载框架图片变色变绿解决方法