精华内容
下载资源
问答
  • Openwrt笔记4 ssh交叉编译 打开openwrt的ssh功能 直接上图: 然后就可以使用MobaXTerm打开ssh了 openwrt的交叉编译环境搭载 先在openwrt的官网https://downloads.openwrt.org下载相应的sdk或者自己进行编译,...

    Openwrt笔记4 ssh和交叉编译

    打开openwrt的ssh功能

    直接上图:



    然后就可以使用MobaXTerm打开ssh了

    openwrt的交叉编译环境搭载

    • 先在openwrt的官网https://downloads.openwrt.org下载相应的sdk或者自己进行编译,sdk里面已经包含了编译工具链
    • 解压出来,并进入bin目录:cd OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin
    • 有可能要下载环境 sudo apt-get install ccache
    • 修改环境变量(最重要):

    1)输入sudo gedit ~/.bashrc

    2)在打开的文件的末尾添加下面的代码:

    PATH=$PATH:/path/OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin
    export PATH
    
    export STAGING_DIR=/path/OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2
    export PATH=$PATH:$STAGING_DIR/bin
    

    注意,这里的path必须修改为你的安装目录,假如我放到Desktop下面的目录就是:/home/david/Desktop/…

    3)使环境变量有效就行了:source ~/.bashrc

    • 直接使用工具编译c代码:mipsel-openwrt-linux-gcc hello.c -o hello
    • 编译出来的文件就可以直接在openwrt里面执行了: ./hello(如果没有可执行权限的话需要执行chmod 777 hello去添加权限)

    openwrt打包ipk

    上面的编译环境搭载好了之后,我们需要把可执行文件打包成ipk文件,这样就可以更加方便的安装到openwrt系统当中了。

    我们需要在sdk/package里面新建工程目录,helloworld,具体步骤请参考:<blog.csdn.net/yicao821/article/details/45484239>

    这里需要注意一下,makefile里面每一行的后面的空格需要删除掉,不然会出错,我目前就遇到过:…has both: and :: entries这样的错误,

    遇到的时候需要把空格删掉后,如果没有下载ccache的安装一次应该就没问题了

    然后把ipk传到开发板上,使用命令:opkg install xxxxx.ipk,然后直接运行输入:xxxxx就可以了。

    另:单独make某个package需要用到指令:make package/helloworld/complie

    linux下编写批处理文件

    • 可以学习一下shell,bash编程
    • 直接建立一个文件,里面编写各种需要执行的指令,指令之间用;分开,不要换行,也不要有空行,保存,然后使用sh 文件名 执行.
    展开全文
  • Linux交叉编译dropbear使能SSH

    千次阅读 2018-08-31 14:38:51
    最近项目需要用到armv8 cpu的嵌入式精简的文件系统,但是busybox生成的文件系统只支持telnet,不支持ssh连接,而openssh的库又很大,不符合精简文件系统,想到了轻量级的...交叉编译链:aarch64-fsl-linux-gcc 工具...

           最近项目需要用到armv8 cpu的嵌入式精简的文件系统,但是busybox生成的文件系统只支持telnet,不支持ssh连接,而openssh的库又很大,不符合精简文件系统,想到了轻量级的dropbear,下面就编译dropbear的步骤和遇到的问题进行一下说明。

     

    编译准备:

    目标环境: NXP的armv8

    交叉编译链:aarch64-fsl-linux-gcc

    工具下载: dropbear-2016.74.tar.bz2

                       地址:http://matt.ucc.asn.au/dropbear/releases/

    涉及到的lib库:

                      libz.so.1.2.8、libutil-2.20-2014.11.so、libcrypt-2.20-2014.11.so

               由于本人交叉编译链已经有相应的库,这里就不在对相应库的交叉编译进行说明了,如果交叉编译链中没有以上库请先自行编译。

     

    编译dropbear

    将dropbear-2016.74.tar.bz2放到/home/freescale/test,解压缩dropbear

     tar -xvf dropbear-2016.74.tar.bz2

    进入dropbear目录,配置dropbear                 

    cd dropbear-2016.74
    
    ./configure --prefix=/home/freescale/test/build/dropbear

    修改生成的Makefile                 

    CC=aarch64-fsl-linux-gcc(根据所使用的交叉工具链修改)
    
    AR=aarch64-fsl-linux-ar
    
    RANLIB=aarch64-fsl-linux-ranlib

    编译并安装

    make
    
    make scp
    
    make install

    拷贝scp到安装目录

    cp scp /home/freescale/test/build/dropbear/bin

    strip所有的可执行文件             

    aarch64-fsl-linux-strip /home/freescale/test/build/dropbear/bin/*
    
    aarch64-fsl-linux-strip /home/freescale/test/build/dropbear/sbin/*

             把所有bin目录和sbin目录文件拷贝到精简文件系统对应的bin和sbin目录中,拷贝上述涉及到的lib库到精简文件系统的lib目录,创建dropbear配置目录,并生成密钥

    mkdir /etc/dropbear
    
    cd /etc/dropbear
    
    dropbearkey -t rsa -f dropbear_rsa_host_key
    
    dropbearkey -t dss -f dropbear_dss_host_key
    
    ln -s /bin/dbclient /bin/ssh
    
    ln -s /lib/libz.so.1.2.8 /lib/libz.so.1
    
    ln -s /lib/libutil-2.20-2014.11.so /lib/libutil.so.1
    
    ln -s /lib/libcrypt-2.20-2014.11.so /lib/libcrypt.so.1

    dropbear即为服务端,dbclient即为客户端,添加系统启动服务

    vi /etc/init.d/rcS
    
    添加
    
    /usr/sbin/dropbear

    到此处dropbear准备工作已经完毕,重启系统后,用PC通过ssh远程登录

     

    问题:

    如果是正常文件系统应该不会出现问题,但是笔者是自己做的精简文件系统,用ssh登录后,ssh要求输入用户名、密码的界面出来了,发现输入用户名、密码之后一直提示密码错误。可以确定的是用户名和密码是一定没有输错的。

                                                                

     

     

    而将dropbear前台启动: /usr/bindropbear -E -F 发现单板一直打印不存在的用户登录

                     

     

    原来是linux认证搞得鬼,此问题需要两个文件:

    • 一个是需要/etc/shells,shells必须指定passwd中指定的shell。
    vi /etc/shells
    
    添加
    
    /bin/sh
    
    /bin/bash
    
    /bin/bash64
    
    /bin/ash
    
    /bin/bsh
    
    /bin/tcsh
    
    /bin/csh
    
    /bin/ksh
    
    /bin/zsh
    • 一个是缺少库文件libnss_files-2.20-2014.11.so,虽然dropbear运行不需要此库,但是登录ssh用户验证和密码验证是需要用到此库来读取/etc/passwd和/etc/shadow文件,所以还需要把libnss_files-2.20-2014.11.so添加到文件系统的lib目录中。
    ln -s /lib/libnss_files-2.20-2014.11.so /lib/libnss_files.so.2

    此问题的详细说明请参考:

                        https://blog.csdn.net/force_eagle/article/details/4508978

    Show下xz压缩后的ext4 ramdisk精简文件系统大小:仅有2.6M

                                                                       

    展开全文
  • 交叉编译轻量级Dropbear SSH使用版本编译zlib-1.2.11 编译dropbear-2020.80 编译使用 使用版本 dropbear-2020.80.tar.bz2 zlib-1.2.11.tar.gz 编译器为 Xilinx SDK 2017.4 软件版本的中带的编译器 编译 zlib-1.2.11 ...

    使用版本

    dropbear-2020.80.tar.bz2
    zlib-1.2.11.tar.gz

    编译器为 Xilinx SDK 2017.4 软件版本的中带的编译器

    静态编译

    zlib-1.2.11 编译

    解压压缩包,进入 zlib-1.2.11 目录,对其进行编译前的配置:

    prefix=/mnt/hgfs/openssh/zlib_install/ CC=arm-linux-gnueabihf-gcc CFLAGS="-static -fPIC" ./configure
    

    然后 make 即可编译完成,而后 make install 将其安装在上面配置的 prefix 文件夹。

    dropbear-2020.80 编译

    解压压缩包,进入 dropbear-2020.80 目录,对其进行编译前的配置:

    ./configure --prefix=/mnt/hgfs/openssh/dropbear_install --with-zlib=/mnt/hgfs/openssh/zlib_install CC=arm-linux-gnueabihf-gcc --host=arm --enable-static
    

    然后 make 即可编译完成,而后 make install 将其安装在上面配置的 prefix 文件夹。

    这样就编译完了,全程没有任何问题产生,比 openssh 编译简单多了。

    使用

    1. dropbear_install 安装目录下的 文件都复制到嵌入式系统文件系统的 /usr/ 下,dropbear_install/bin下文件复制到 /usr/bin目录下,dropbear_install/sbin下文件复制到 /usr/sbin 目录下。

    2. 在文件系统的 /etc目录下新建 dropbear 目录(只能是 dropbear 这个名称 ),使用 dropbearkey 命令生成密钥

    dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
    

    从私钥中提出公钥

    dropbearkey -y -f dropbear_rsa_host_key | grep "^ssh-rsa " >> authorized_keys
    
    1. 设置 root 用户密码,运行 dropbear 即可。

    2. 若要使用 scp 登录,需要强制编译,在源码目录使用 make scp 编译出 scp,将其放在文件系统的 /usr/bin 目录下即可,这样就能使用 winscp 软件上传与下载文件了。

      若要使用SFTP登录,需要使用 openssh 编译出的 sftp-server 放置在 /usr/libexec 目录下,这样就能使用 winscp 软件上传与下载文件了,功能同 scp (openssh 编译可查看上篇文章)。

    相关参考:
    https://www.cnblogs.com/Jimmy1988/p/9060826.html
    https://www.systutorials.com/docs/linux/man/1-dropbearkey/

    展开全文
  • 下载源码包,地址如下: openssh http://www.openssh.com/portable.html openssl http://www.openssl.org/source zlib http://www.zlib.net/ 2.交叉编译 创建工作目录: #mkdir /work #cd /work
  • ARM交叉编译搭建SSH-Server至目标板

    千次阅读 2014-06-19 14:13:11
    交叉编译 zlib # cd /work/ssh/compressed/ # tar xvf zlib-1.2.3.tar.tar -C ../source # cd ../source/zlib-1.2.3 # ./configure --prefix=/work/ssh/install/zlib-1.2.3 # vim Makefile CC=arm-9...

    参考资料:

    http://blog.chinaunix.net/u1/43047/showart_371372.html

    http://blog.chinaunix.net/u/21948/showart.php?id=506254

     

    步骤:

    1.下载源码包,地址如下:

    openssh http://www.openssh.com/portable.html

     

    openssl http://www.openssl.org/source


    zlib    http://www.zlib.net/ 

     

    2.交叉编译

    在/work目下面创建ssh目录
    # mkdir /work/lib            ----〉共享库目录,通过nfs挂载
    # mkdir /work/ssh           -----〉工作目录
    # cd  /work/ssh
    # mkdir compressed install source  -----〉compressed 用于存放源码包
                                        Install    软件安装目录
                                        Source    源码包解压目录
    #mv tarpakgs/openssh-4.6p1.tar.gz  /work/ssh/compressed
    #mv tarpakgs/openssl-0.9.8e.tar.gz  /work/ssh/compressed
    #mv tarpakgs/zlib-1.2.3.tar.tar        /work/ssh/compressed
    
    交叉编译 zlib
    # cd /work/ssh/compressed/
    # tar xvf zlib-1.2.3.tar.tar  -C  ../source
    # cd ../source/zlib-1.2.3
    # ./configure --prefix=/work/ssh/install/zlib-1.2.3
    # vim Makefile
    CC=arm-9tdmi-linux-gnu-gcc
    AR=arm-9tdmi-linux-gnu-ar rc
    CPP =arm-9tdmi-linux-gnu-gcc -E
    LDSHARED=arm-9tdmi-linux-gnu-gcc
    
    # make
    # make install
    
    交叉编译openssl
    # cd /work/ssh/compressed/
    # tar zxvf openssl-0.9.8e.tar.gz  -C  ../source
    # cd ../source/openssl-0.9.8e
    # ./Configure --prefix=/work/ssh/install/openssl-0.9.8e  os/compiler:arm-9tdmi-linux-gnu-gcc
    
    # make
    # make install
    
    交叉编译openssh
    # cd /work/ssh/compressed
    # tar zxvf openssh-4.6p1.tar.gz  –C ../source
    # cd ../source/ openssh-4.6p1
    #./configure --host=arm-9tdmi-linux-gnu --with-libs --with-zlib=/work/ssh/install/zlib-1.2.3 --with-ssl-dir=/work/ssh/install/openssl-0.9.8e --disable-etc-default-login CC=arm-9tdmi-linux-gnu-gcc AR=arm-9tdmi-linux-gnu-ar
    注意:openssh不需要make

     

    3.操作目标板

     

    3.1在目标板上建立以下目录:

     

    /usr/local/bin/

    /usr/local/sbin/

    /usr/local/etc/

    /usr/local/libexec/

    /var/run/

    /var/empty/

     

    3.2从PC机上将以下文件拷贝到目标板Linux系统中

     

    PC机 /work/ssh/source/openssh-4.6p1/ 目录下的
    scp  sftp  ssh  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan 拷贝到目标板  /usr/local/bin
    moduli ssh_config sshd_config ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_key ssh_host_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub 拷贝到目标板 /usr/local/etc
    sftp-server  ssh-keysign 拷贝到目标板 /usr/local/libexec
    sshd 拷贝到目标板 /usr/local/sbin/
    PC机目录 /work/ssh/install/zlib-1.2.3/lib/ 目录下的 
    libz.so.1.2.5 拷贝到目标板 /lib/目录下,然后建立连接
    ln -s libz.so.1.2.5 libz.so.1
    注意:
    1.动态链接库文件必须放在/lib/目录下面;
    2.libz.so.1.2.5是一个动态连接库文件,但是程序调用的时候使用的是libz.so.1这个名称,所以要建立软链接;
    3.3生成Key文件
    在目标板上,进入/usr/local/etc/目录,执行以下命令:
    ../bin/ssh-keygen -t rsa1 -f ssh_host_key -N ""
    ../bin/ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
    ../bin/ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
    3.4添加sshd用户
    将主机上 /etc/目下的 passwd, shadow, group 三个文件copy到目标板的 /etc目录下, 同时记得将passwd的最后 /bin/bash 该为 /bin/sh 
    其实可以删除不需要的一些用户。
    注意:前提条件是主机上用OpenSSH服务器,加入没有OpenSSH服务器,passwd文件里面没有sshd用户记录也是没用的,建议手动添加sshd用户
    4.测试
    #/usr/local/sbin/sshd
    可以用ps命令查看sshd是否在工作
    如果运行的过程中有提示缺少动态连接库,可以在主机上搜索相应文件,拷贝到目标板/lib/目录下面,注意创建软连接!
    OK!不出意外的话可以成功,如不成功请留言!

    最后,可以访问了,然而文件传输还有点问题:如下图:



    整了好一会还是没有用,开发板上没有.bashrc ,改良使用方法:scp命令,其实 也更方便啊。


    SCP 的使用

    http://blog.csdn.net/jianglei421/article/details/5629969












    展开全文
  • arm64位aarch64 交叉编译openssh

    千次阅读 2019-03-17 15:03:16
    arm64位aarch64 交叉编译ssh依赖库openssl编译部署openssl测试zlib编译部署openssh编译部署遇到的问题 依赖库 ssh由openssh交叉编译 openssh依赖zlib和openssl两个库 分别提供压缩和加密的功能 需要先交叉编译这两个...
  • SSH(Secure SHell)交叉编译以及服务器客户端配置  主要介绍SSH( Secure Shell)的在嵌入式平台的交叉编译方法,远程登录、文件传输和端口通路的方式以及常用开源实现OpenSSH和Dropbear的实现和连接方式...
  • 最近使用busybox为基于ARM的板卡定制了一个极简单的根文件系统,由于busybox仅支持telnet而不支持ssh,本文将详细描述如何交叉编译dropbear并将其移植到目标板卡上使能dropbear。 目标环境:CPU:ARM内核版本:...
  • 开启树莓派的ssh服务,以便于我们能在PC机上远程登录树莓派,验证我们编写的可执行文件是否能够正常执行; 搞一个文件传输软件,这样就可以在PC机下将我们编译出来的可执行文件直接拷贝到树莓派上去执行了; 下面一...
  • 但是之后要用开发板做3G模块的拨号上网等,自己用到无所谓带着usb转串口和开发板就行了,但是要这几个人一块使用这个开发板就成了问题,所以打算用wifi模块连到路由器然后ssh大家都可以连接到开发板进行开发,所以...
  • 交叉编译工具

    2019-08-25 08:06:49
    使用SSH工具将交叉编译工具拷贝到 Ubuntu12.04.2系统的文件夹“usr”->“local”-->“arm”中,local下默认没有arm文件夹,可以新建一个。 然后在Ubuntu系统中将压缩包解压到当前目录下。 使用命令“cd /usr/...
  • 交叉编译指在一个平台上生成另一个平台上的可执行代码。 我们将会在MAC上写代码,但要生成的可执行文件需要在iPhone上运行。 编译是由编译器完成的,所以我们首先要找到合适的编译器。 我们本次的任务就是写一个...
  • sudo ssh root@192.168.1.136 cd ../ cd meida ls cd sda1 ./maunual_box ssh-keygen -R 192.168.1.136 参考链接: http://www.cnblogs.com/coding-way/p/4243331.html 好使::4步解决u盘只读 1 sudo fdisk -l ...
  • 今天突然发现ssh无法和虚拟机中的连接,总是报server端ssh关闭,那就重启linux上的ssh吧,我用命令“ sudo /etc/init.d/ssh start "后,却说不要通过调用 这个脚本启动程序,要用服务工具,好,就改为” sudo ...
  • 树莓派交叉编译QT5.12.4

    千次阅读 2019-08-03 18:14:51
    一、准备工作,先搭建rsync服务器 ... 3.4 创建为 ssh同步方式的用户和密码 这个不是必须的,可以直接用自己电脑原先的账号pi和密码 还有同步方式笔者用的是SSH...二、QT5.12.4 在虚拟机Vmware上交叉编译 https...
  • NDK在Linux下载配置以及C、C++编译配置(交叉编译) 前言: 我们搭建好Ubutu虚拟机之后,通过xShell远程登录Ubutu上SSH服务器,在xShell上可以进行相关的编译操作了。但是我们在xShell上gcc、g++编译的可执行文件...
  • 带wiringPi库的交叉编译如何进行 1.正常我们先要交叉编译wiringPi库,编译出的库适合树莓派,这时交叉编译可执行程序的时候,链接库的格式也是正确的。 2.通过 -I -L来指定 但是经常会因为没办法交叉编译wiringPi库...
  • 一.用虚拟机安装ubuntu-14.04.4-desktop-amd64.iso或者Ubuntu16.04.3 二.apt-get update apt-get install vim ssh (可不用) 三....apt-get install libc6:i386 libstdc++6:i386 libncurses5:... 配置交叉编译环境 ...
  • 本菜鸟对交叉编译的理解: 下载交叉编译工具链 选择你需要的版本 https://gnutoolchains.com/raspberry/ 安装 最好勾选自动添加环境变量!勾选红框的选项,点击安装!!! 3. 安装MobaXterm 用的人多,自行百度...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 197
精华内容 78
关键字:

交叉编译ssh