查看: 1548|回复: 0

电鱼派试用之(3)--为电鱼派添加ssh

[复制链接]

该用户从未签到

发表于 2018-5-4 14:47:40 | 显示全部楼层 |阅读模式
分享到:
前面说到完成了启动TF卡制作的过程,顺利进入了系统,但是不知道什么原因,官方制作的这个镜像不能通过源来更新系统和安装软件,自带的镜像之中只带有busybox的一些命令,而且不带ssh,每次启动系统都需要连一大堆线,桌子上乱七八糟的串口线、网线、电源线,极为不便,想来想去决定自己编译一下ssh,自己安装到开发板了,这样可以减少串口线。
一:准备工作
        首先,要安装ssh到开发板需要以下准备:
      (1)Ubuntu12.04(推荐虚拟机安装)
      (2)按照官方文档安装好工具链,即arm-none-linux-gnueabi-系列命令
      (3)下载好以下文件 1,zlib-1.2.3.tar.gz  地址:https://download.chinaunix.net/download.php?id=3562...
                                        2,openssl-0.9.8l.tar.gz 地址:https://download.chinaunix.net/download.php?id=3114...
                                        3,openssh-5.6p1.tar.gz 地址:https://download.chinaunix.net/download.php?id=3518...
      接着在虚拟机里新建工作目录
      mkdir /home/sshwork
      把上面下载好的源码复制到该目录下
      cp zlib-1.2.3.tar.gz   openssl-0.9.8l.tar.gz   openssh-5.6p1.tar.gz  /home/arm/sshwork
      /home/arm/sshwork下新建目录lib,用来保存生成的库文件
      mkdir /home/arm/sshwork/lib

二:编译
      1、编译zlib
      tar zxvf zlib-1.2.3.tar.gz
      cd zlib-1.2.3/
      ./configure -prefix=/home/arm/sshwork/lib/zlib-1.2.3
修改Makefile :
CC=gcc 改为:
CC=arm-none-linux-gnueabi-gcc
LDSHARED= gcc 改为DSHARED=arm-none-linux-gnueabi-gcc
CPP= gcc - E  改为:CPP=arm-none-linux-gnueabi-gcc - E
AR= ar rc     改为:AR=arm-none-linux-gnueabi-ar rc
开始编译: make
make install

      2、编译openssl
     tar zxvf openssl-0.9.8l.tar.gz
     cd openssl-0.9.8l/
     ./Configure --prefix=/home/arm/sshwork/lib/openssl-0.9.8l os/compiler:arm-none-linux-gnueabi-gcc
     make
     make install

    3、编译openssh
    tar zxvf openssh-5.6p1.tar.gz
    cd openssh-5.6p1/
    ./configure -host=arm-none-linux-gnueabi  -with-libs  -with-zlib=/home/arm/sshwork/lib/zlib-1.2.3  -with-ssl-dir=/home/arm/sshwork/lib/openssl-0.9.8l -disable-etc-default-login
    CC=arm-none-linux-gnueabi-gcc  AR=arm-none-linux-gnueabi-ar
    make(不要make install)
    至此,编译工作完成

三:安装
   1、在 openssh-5.6p1 目录下创建目录,文件临时拷贝到这里,然后统一打包到开发板
   mkdir -p usr/sbin
   mkdir -p usr/local/bin
   mkdir -p usr/local/libexec
   mkdir -p usr/local/etc
  2、将 openssh-5.6p1目录下的 sshd 拷贝到当前 /usr/sbin 目录下
  cp sshd ./usr/sbin
  3、将 copy scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 到当前/usr/local/bin目录下
   cp scp  sftp  ssh  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan ./usr/local/bin
  4、将 sshd_config ssh_config 拷贝到 /usr/local/etc/ 目录下
   cp sshd_config ssh_config ./usr/local/etc
  5、将 sftp-server  ssh-keysign 到 /usr/local/libexec
  cp sftp-server  ssh-keysign ./usr/local/libexec

  6、在主机上生成密钥
  ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
  ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
  ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
  将生成的 ssh_host_*_key这3个文件copy到./usr/local/etc/目录下
  cp ssh_host_* ./usr/local/etc/
  7、转移生成的文件到开发板
  至此完成了ssh必要组件的编译工作,将usr文件夹打包
  tar -zcvf openssh.tar.gz  usr/
  将打包好的文件openssh.tar.gz 通过U盘或其他方式转移到目标板电鱼派上,解压到根目录下
  tar -zxvf openssh.tar.gz
  8、在根目录下新建sshd 工作目录
     mkdir -p var/run
     mkdir -p var/empty/sshd
     chmod 777 var/empty
  9、启动开发板,添加用户
  touch /etc/passwd
  touch /etc/group
  mkdir -p /home/sshd
  adduser sshd
  然后输入密码并确认即可添加用户
  将开发板/usr/local/etc/sshd_config,将PermitRootLogin yes前的注释“#”号去掉
10、测试
    执行
   /usr/sbin/sshd
  即可启动ssh服务
  通过putty可登陆
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /5 下一条

手机版|小黑屋|与非网

GMT+8, 2024-12-20 16:03 , Processed in 0.113983 second(s), 18 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.