【目的】

移植dropbear & zlib 在AM335X开发板上搭建轻量级的ssh server

【环境】

1、  Ubuntu 16.04发行版

2、  MC183平台

3、  交叉编译器arm-linux-gnueabihf-gcc-4.7.3

【步骤】

1、下载zlib-1.2.8.tar.gz dropbear-2015.67.tar.bz2源码。

2.  交叉编译zlib。

解压zlib-1.2.8.tar.gz

tar zvxf  zlib-1.2.8.tar.gz

cd zlib-1.2.8

配置:

./configure  --prefix=../../zlib/install

修该Makefile用于交叉编译,如下加粗字体为改动部分:

change Makefile

 

CROSS=arm-linux-gnueabihf-

CC=$(CROSS)gcc

 

CFLAGS=-O3  -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN

#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7

#CFLAGS=-g -DDEBUG

#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \

#           -Wstrict-prototypes -Wmissing-prototypes

 

SFLAGS=-O3  -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN

LDFLAGS=

TEST_LDFLAGS=-L. libz.a

LDSHARED=$(CC) -shared -Wl,-soname,libz.so.1,--version-script,zlib.map

CPP=$(CC) -E

 

STATICLIB=libz.a

SHAREDLIB=libz.so

SHAREDLIBV=libz.so.1.2.8

SHAREDLIBM=libz.so.1

LIBS=$(STATICLIB) $(SHAREDLIBV)

 

AR=$(CROSS)ar

ARFLAGS=rc

RANLIB=$(CROSS)ranlib

LDCONFIG=ldconfig

LDSHAREDLIBC=-lc

TAR=tar

SHELL=/bin/sh

EXE=

 

#prefix =/usr/local

prefix=../../zlib/install

 

编译:

make

安装到prefix目录当中:

make install

 

用tree 显示安装目录如下所示:

install

├── include

│   ├── zconf.h

│   └── zlib.h

├── lib

│   ├── libz.a

│   ├── libz.so -> libz.so.1.2.8

│   ├── libz.so.1 -> libz.so.1.2.8

│   ├── libz.so.1.2.8

│   └── pkgconfig

│       └── zlib.pc

└── share

└── man

└── man3

└── zlib.3

3.  交叉编译dropbear。

解压dropbear-2015.67.tar.bz2

tar jvxf  dropbear-2015.67.tar.bz2

cd dropbear-2015.67

配置:

./configure --prefix=../../dropbear/install --with-zlib=../../zlib/install/ CC=arm-linux-gnueabihf-gcc --host=arm-linux

会报如下错误:

configure: error: expected an absolute directory name for --prefix: ../../dropbear/install

因为—prefix需要一个绝对的路径,所以修该成如下进行配置

./configure --prefix=/home/vmuser/sdc/remote_svn/iotx-am335x/MC-183/package/dropbear/install --with-zlib=../../zlib/install/ CC=arm-linux-gnueabihf-gcc --host=arm-linux

默认编译安装:

default compile:

make

make install

 

自定义编译安装:

counster compile:

make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"

make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install

 

用tree 显示安装目录如下所示:

install/

├── bin

│   ├── dbclient

│   ├── dropbearconvert

│   ├── dropbearkey

│   └── scp

├── sbin

│   └── dropbear

└── share

└── man

├── man1

│   ├── dbclient.1

│   ├── dropbearconvert.1

│   └── dropbearkey.1

└── man8

└── dropbear.8

4.  测试:

# download dbclient

wget http://192.168.3.88/dropbear/install/bin/dbclient -O  /bin/dbclient   &&  chmod  +x  /bin/dbclient

# download scp

wget http://192.168.3.88/dropbear/install/bin/scp -O  /bin/scp   &&  chmod  +x  /bin/scp

# download dropbearkey

wget http://192.168.3.88/dropbear/install/bin/dropbearkey -O  /bin/dropbearkey   &&  chmod  +x  /bin/dropbearkey

# download dropbearconvert

wget http://192.168.3.88/dropbear/install/bin/dropbearconvert -O  /bin/dropbearconvert   &&  chmod  +x  /bin/dropbearconvert

# download dropbear

wget http://192.168.3.88/dropbear/install/sbin/dropbear -O  /bin/dropbear   &&  chmod  +x  /bin/dropbear

# download libz so

wget http://192.168.3.88/zlib/install/lib/libz.so.1.2.8 -O  /lib/libz.so.1.2.8 && chmod +x /lib/libz.so.1.2.8

# create soft ln

ln -s /lib/libz.so.1.2.8 /lib/libz.so

ln -s /lib/libz.so.1.2.8 /lib/libz.so.1

# mkdir /etc/dropbear

mkdir -p /etc/dropbear

cd  /etc/dropbear

# generate dropbear_dss_host_key

root@am335x:/etc/dropbear# dropbearkey -t dss -f dropbear_dss_host_key

Generating key, this may take a while...

Public key portion is:

ssh-dss AAAAB3NzaC1kc3MAAACBAP3WPpjrRpLNaAZuABg4GYaHurc50gAmesgL/MFxj9aOfZ3n4GCmqD+fEfEkMok8KIdblyo7B/VX8ycM85EARMzQT7Y7t9KZRRIVTHNMG3NgalczaQOGYCdQs/QVNaMzKOCvt15rQQFdYNGmkoscNYROoKVau/16KJpC6QD70bAdAAAAFQDsjhDS8hI1Ilxo/t4UDl5q2VDnywAAAIEAjlslkIGvLQhxa1lm+3BL6PnXc9dIizfCMLtp+eS178fJdoLceLhC+FrTwVyaLAUrvElvqgkYkGtx/DtNmw3xyE2d6Fu4uFT1FuyPBJxxYAnJc6odKG64mZXSiPz5hkalcPmi/oDE4Y7TT6GwEorTQ5CyS7jZc/vgOOry5rG+gcUAAACBAP1Vvx4DsCVF0KEgx04j1sRzGp9MjkXd+S4sA1hOXUJ5VVmtqMYn5XBJTCfsNBCMsVAWAIP3usvHlLuXTD/nC23fUw2gPpBEBiCQCThbingyqT7wQ4ZQFlO8yHRr4peBxyUK2PFyVDPGohl5cSO+XaaWVUe33Cg/Rk5xl1Q4b5gbroot@am335x Fingerprint: md5 09:e2:6c:93:39:d0:08:1e:97:64:74:c8:d6:78:97:6e

# generate dropbear_rsa_host_key

root@am335x:/etc/dropbear# dropbearkey -t rsa -f dropbear_rsa_host_key

Generating key, this may take a while...

Public key portion is:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5txR31wx+AXiy4nOanuocphD7VYTQa5L1yLmANQVZnZh2itRnuMrsAfSBOkKIOo2UwcK9iyJCWXFmcoLe6acXIeX/mAP4OzgOqi1gLJoBw/y3vmeIzJJP1Qn96iVhZqL1NLjqj863+LNi20WuvYzdKbd13dbTGnE7auDynKLlE+LudSg2MjDLhJ7VZ4tGagoxY4HkRfGgKha2+K7CeCvby29St5QOt8HWjbOBM6MaNqX09GH7W1hpzti39xpZwz8YakPWMgYd6/elBFtVx0tZhg/80xq1HHG5OtDM6Fzo+wtZODb5r2gEBvYPJ+DaX06x9f6WOaWXtKnV5IEu3GF/ root@am335x

Fingerprint: md5 09:0c:bc:c0:c9:85:26:c1:aa:00:4a:0f:7e:23:33:1d

# restart dropbear

killall  -9 dropbear

dropbear -p  22 &

基于 Dropbear & Zlib 搭建轻量级的ssh server的更多相关文章

  1. VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群

    VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群 下一篇:VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群-整合Zookeeper和Hbase 近期 ...

  2. 【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!

    写在前面 最近出版了<海量数据处理与大数据技术实战>,详情可以关注 冰河技术 微信公众号,查看<我的<海量数据处理与大数据技术实战>出版啦!>一文. 也有不少小伙伴 ...

  3. 基于 Hexo 从零开始搭建个人博客(二)

    阅读本篇前,请先配置好相应的环境,请仔细阅读教程 基于 Hexo 从零开始搭建个人博客(一). 原文链接:基于 Hexo 从零开始搭建个人博客(二) 前言 博客搭建过程遇到任何问题,优先在本页面搜索, ...

  4. Ubuntu配置ssh server

    SSH-Server配置指南 一.SSH简介 SSH (Secure Shell)是一个应用程序中提供安全通信的协议,通过SSH协议可以安全地访问服务器,因为SSH 具有成熟的公钥加密体系,在数据进行 ...

  5. Linux下设置SSH Server设置时间链接限制

    OpenSSH基于安全的理由,如果用户连线到SSH Server后闲置一段时间,SSH Server会在超过特定时间后自动终止SSH连线.本人习惯长时间连接,需要做如下修改: 1.打开ssh配置文件: ...

  6. 基于VMware Workstation搭建开发服务器

    基于VMware Workstation搭建开发服务器   文章为本人原创,转载请联系作者并注明出处.晓松 源URL: https://www.jianshu.com/p/e62ab7de0124 我 ...

  7. CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...

  8. Mac上基于hexo+GitHub搭建个人博客(一)

    原文地址: http://fanjiajia.cn/2018/11/23/Mac%E4%B8%8A%E5%9F%BA%E4%BA%8Ehexo+GitHub%E6%90%AD%E5%BB%BA%E4% ...

  9. OpenMediaVault 搭建git,ssh无法连接问题

    /************************************************************************* * OpenMediaVault 搭建git,ss ...

随机推荐

  1. typeScript入门基础 (1)

    1.ts是js的超集,可使用es5,es6的代码 2. ts的安装与编译: a.  首先需要Node.js环境 .  相信都有,略过. 不会的请百度,或者留言. b.  npm  install  - ...

  2. CSS 控制鼠标在元素停留的样式

    以下资料来自网络,收藏学习总结用: 有时候需要改变鼠标样式,DIV 可以改成手型等,A也可以改成光标形式 巧合要用到鼠标样式效果,就顺便整理了下十五种CSS鼠标样式,小例子供大家使用啊.CSS鼠标样式 ...

  3. 大数据-Hive 常用命令

    Hive 启动 ~$ hive 退出 hive>quit; --退出hive or hive> exit; --exit会影响之前的使用,所以需要下一句kill掉hadoop的进程 > ...

  4. C#接口实现技巧之借助第三方

    一个类继承了一个接口,对接口实现通常的做法---直接在这个类中对接口进行实现. 利用继承的概念,可以很巧妙地借助第三方类对接口进行实现,这种方式在实际的项目开发过程中其实用途很是比较大的,至少我们的游 ...

  5. python三级菜单实例(傻瓜版和进阶版)

    程序: python三级菜单 要求: : 1.打印省.市.县三级菜单 2.可返回上一级 3.可随时退出程序 方案一:傻瓜版(其实傻瓜版考察的主要是思路!思路清楚了,那才不是傻瓜!O(∩_∩)O哈哈~) ...

  6. ThinkPHP 日志(如何学好一门技术,教学视频和文档的优缺)

    ThinkPHP 日志(如何学好一门技术,教学视频和文档的优缺) 一.总结 一句话总结:教学视频中介绍的只是基础的最常用的使用,那些不常用的那些视频里面都不会介绍,因为需求小,所以还是需要好好去把参考 ...

  7. android--------自定义控件 之 方法篇

    前面简单的讲述了Android中自定义控件的理论和流程图,今天通过代码来详细的讲解一下其中的方法 首先先创建一个类 CircularView 继承于 View,之后实现构造方法(初始化步骤) publ ...

  8. Android--------WebView+H5开发仿美团 预加载,加载失败和重新加载

    Android嵌入式开发已经占大多数了,很多界面都是以网页的形式展示,WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用. 本博客主要是模仿美团的旅游出行模块的预加载,网页加载失 ...

  9. memcached的部署

    window下memcached注册服务 cmd:在学习Memcached时,为了模拟分布存储,常常需要建多个Memcached服务,如何建呢,只能使用命令行了 以管理员身份运行cmd,输入如下命令 ...

  10. 反射API(一)

    <?php function classData(ReflectionClass $class) { echo '<hr>'; $details = '当前文件:'; $detail ...