你的本机上建立好了arm-linux交叉编译环境 #arm-linux-gcc -v
开发板已与路由器相连,并进行了必要的网络配置,可以ping通本机
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
2. 编译:
cd ~/arm/source
(1) 编译zlib :
tar zxvf zlib-1.2.3.tar.gz -C .
cd zlib-1.2.3/
./configure --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/ --shared
修改Makefile :
所有gcc改为arm-linux-gcc,ar改为arm-linux-ar
开始编译: make;
make install
(2) 编译openssl:
tar zxvf openssl- 0. 9. 8d.tar.gz
./Configure --prefix=/opt/FriendlyARM/linux/ssh/openssl-1.0.1e/install compiler: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 -with-ssl-dir=/opt/FriendlyARM/linux/ssh/openssl-1.0.1e/install -disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar
make
##不要make install
3. 安装
(1) 将 openssh-4.6p1目录下的 sshd 拷贝到 目标板的/usr/sbin目录下
(2) 再复制 scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 到目标板/usr/local/bin 目录下
复制 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 rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
ssh-keygen -t dsa -f ssh_host_ed25519_key -N ""
将生存的 ssh_host_* 4个文件copy到目标板的 /usr/local/etc/目录下
(5) 修改目标板passwd文件。
在/etc/passwd 中添加下面这一行
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
在目标板上执行passwd,输入密码
目标板启动sshd: # /usr/sbin/sshd
用SecureCRT新建SSH连接