做真实的自己!
分类: LINUX
2010-08-19 14:09:12
1. 下载需要的源码:
mkdir -p ~/arm/fs ;mkdir -p ~/arm/source
下载zlib: wget -c
下载ssl: wget -c
下载ssh: wget -c
源码已经包存在了资源目录 ./src中。
在ssh_bin_armv
1). 将etc中的passwd、shadow、group拷贝到目标板的/etc下。
2). 将usr/local下的拷贝到目标板的/usr/local下。
3). 将zlib/lib中的动态苦拷贝到/usr/lib下。
如过更换了编译器,需要重新制作。
2. 编译:
(1) cd ~/arm/source
tar jxvf zlib-
cd zlib-
./configure --prefix=/root/work/ssh/source/zlib-1.2.5
修改Makefile:
CC=gcc 改为:
CROSS=/opt/timesys/toolchains/armv5l-linux/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
(2) 编译openssl:
tar zxvf openssl-
./Configure --prefix=/root/work/ssh/source/ssl os/compiler: /opt/timesys/toolchains/armv5l-linux/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=/root/work/ssh/source/zlib-1.2.5 --with-ssl-dir=/root/work/ssh/source/ssl --disable-etc-default-login CC=/opt/timesys/toolchains/armv5l-linux/bin/arm-linux-gcc AR=/opt/timesys/toolchains/armv5l-linux/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目录下
(3) 拷贝sftp-server ssh-keysign到目标板的/usr/local/libexec目录下
(4) 拷贝编译好的zlib的动态库到目标板的/usr/lib目录下。
(5) 在目标板下:
mkdir -p /usr/local/etc/
然后将openssh下的sshd_config拷贝到该目录下
mkdir -p /var/run; mkdir -p /var/empty/sshd
chmod 755 /var/empty
(6) 在主机上(openssh-5.3p1路径下)
文件:
openssl-1.0.0a.tar.tar
大小:
3921KB
下载:
下载
|
|
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_* 文件copy到目标板的 /usr/local/etc/目录下
(7) 添加用户:
如果目标机上,没有passwd, shadow, group 三个文件,那么,将主机上 /etc/目下的 passwd, shadow, group 三个文件copy到目标板的 /etc目录下, 同时记得将passwd的最后 /bin/bash 该为 /bin/sh
其实可以删除不需要的一些用户。
在目标板的passwd中添加sshd用户:
sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin
在shadow中也添加对应的项就行了:
sshd:!:14069:0:99999:7:::
4. 测试
目标板启动sshd: # /usr/sbin/sshd
主机: $ ssh -v //目标板的IP地址
ps: 红色的那些代表让arm做ssh server时必须的