打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
mini2440 ssh
userphoto

2011.02.14

关注

mini2440 openssh 移植

1. 下载需要的源码,直接google最新的版本吧
mkdir -p ~/arm/fs ;mkdir -p ~/arm/source
     
下载zlib: zlib-1.2.3.tar.gz
下载ssl openssl-0.9.8d.tar.gz
下载ssh : openssh-4.6p1.tar.gz
       下载zlib: http://www.zlib.net/zlib-1.2.5.tar.gz
        下载ssl:  http://www.openssl.org/source/openssl-1.0.0a.tar.gz
        下载ssh:  http://mirror.mcs.anl.gov/openssh/portable/openssh-5.6p1.tar.gz

2.  编译:
cd ~/arm/source

(1) 编译zlib :
tar zxvf zlib-1.2.3.tar.gz -C .
cd zlib-1.2.3/
./configure –prefix=/home/itlanger/arm/fs/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 -  改为 : CPP= $ ( CROSS) gcc - E
AR= ar rc     改为: AR= $ ( CROSS) ar rc
开始编译: make;
make install

(2)  编译openssl:
tar zxvf openssl- 0. 9. 8d.tar.gz
. / configure - - prefix= / home/itlanger / arm/fs/ openssl- 0. 9. 8d
os/ compiler: / usr/ local/ arm/ 3. 4. 1/ bin/ arm- linux- gcc
make
make install

(3) 编译openssh:
tar zxvf openssh-4.6p1.tar.gz
cd openssh-4.6p1/
./configure –host=arm-linux –with-libs –with-zlib=/home/itlanger/arm/fs/zlib-1.2.3
–with-ssl-dir=/home/itlanger/arm/fs/openssl-0.9.8d –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

3. 安装

(1) 将 openssh-4.6p1目录下的 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) 在目标板下:
mkdir -p /usr/local/etc/
然后将openssh下的sshd_config , ssh_config 拷贝到该目录下

mkdir -p /var/run; mkdir -p /var/empty/sshd
chmod 755 /var/empty
(4)在主机上:
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_* 4个文件copy到目标板的 /usr/local/etc/目录下
(5) 添加用户:
将主机上 /etc/ 目下的 passwd, shadow, group 三个文件copy到目标板的 /etc 目录下,同时记得将passwd的最后 /bin/bash 该为 /bin/sh
//这一步以后,开发板上的用户结构与你本机的结构就是一样的了,所以在cp之前先把你自己的root密码设好
//#passwd设置root密码,然后在把上面3个文件cp到开发板/etc下

其实可以删除不需要的一些用户。
 

4.测试

目标板启动sshd:  # /usr/sbin/sshd

//在开发板上运行这个命令的时候可能会提示
//Privilege separation user sshd does not exist

//需要在开发板的系统里adduser shhd

//或者在 /etc/passwd 中添加下面这一行
// 错放usr/bin出现  sshd re-exec requires execution with an absolute path


sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

主机: $  ssh root@192.168.0.34(开发板的ip) //root密码就是你本机上root的密码

ps: 红色的那些代表让arm做ssh server时必须的
 
 
Privilege separation user sshd does not exist  解决方法
 
方法一(推荐):
修改/etc/passwd文件,在其中加入
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
或者
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
我加入的是:
sshd:x:109:65534::/var/run/sshd:/usr/sbin/nologin
参考
http://www.unixguide.net/comments/sun/ssh_installation.shtml/37.shtml
http://www.gipsky.com/modules/newbb/viewtopic.php?topic_id=966

方法二(不推荐):
修改/etc/ssh/sshd_config文件
将其中
UsePrivilegeSeparation yes
修改为
UsePrivilegeSeparation no
虽然能解决问题,但是降低了ssh的安全级别。
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
解决Ubuntu系统不能启动openssh
redhat 7.4从openssh7.6离线升级openssh8.4p1解决方法
command-line: line 0: Bad configuration option: PermitLocalCommand
图解Redhat Enterprise AS 3.0安装全程
make strip
Ubuntu手动安装SSH
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服