Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3013551
  • 博文数量: 674
  • 博客积分: 17881
  • 博客等级: 上将
  • 技术积分: 4849
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 10:15
文章分类

全部博文(674)

文章存档

2013年(34)

2012年(146)

2011年(197)

2010年(297)

分类: LINUX

2010-12-28 19:20:31

今天在参照两位前辈文章的情况下, 将ssh移植到了2440的arm板上, 现在不需要用minicom来控制uclinux了。 板子上的串口终于可以接上采集器。 主要参考文章:
  • http://blog.chinaunix.net/u1/43047/showart_371372.html
  • http://blog.chinaunix.net/u2/63379/showart_513655.html


1. 下载需要的源码:
    mkdir -p ~/arm/fs ;mkdir -p ~/arm/source
    下载zlib:  wget -c
    下载ssl:  wget -c
    下载ssh: wget -c


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 -E   改为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
      其实可以删除不需要的一些用户。
      这一步也可以这样,在目标板的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 root@192.168.0.34

ps: 红色的那些代表让arm做ssh server时必须的
阅读(1205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~