ssh介绍
Windows 系统安装了 ssh 客户端,给 Ubuntu 安装了 ssh 服务器,这样就可以通过 ssh 在 Windows 和虚拟机 Ubuntu 之间传输文件。其实在开发板上也是可以移植和安装 ssh 服务器,这样就可以通过网络,在 Windows 和开发板之间传输文件,而不需用“串口文件传输工具”了,所以它需要网络,是wifi或者网线都可以的。
“ssh 服务器移植到开发板”,目标是能通过 ssh 在开发板在Windows 和开发板之间传输文件,当然也是可以使用 ssh 控制台。
这个实用性上是更加有用的,假如在实际的产品中,运行的是根文件系统,没有界面,如果数据需要在开发板和 Windows 传输数据,对于普通用户来说,是一个很好的选择,操作起来比较简单,只需要登陆然后直接将文件拖来拖去即可。
ssh 服务器需要依赖其他的库文件,所以需要先移植完成所有依赖的库文件,最后才能移植 ssh 服务器。
ssh 官网和下载地址
下面有两个openssl的地址,下载一个就可;
还需要下载zlib和ssh;
移植过程
编译器使用“arm-2009q3
”。
我是在
“/home/project/ssh-arm/
”目录下,解压编译配置这三个需要移植的文件,用户如果在其
它目录下,配置文件需要根据实际情况修改,安装目录是“/home/project/ssh-arm/
”目录
下的“install
”文件夹,如下图所示
如下图所示,安装目录“install
”下新建两个文件夹“openssl-0.9.8h
”和“zlib-1.2.3
”,后面编译之后需要安装到这个目录下。
移植zlib
拷贝“zlib-1.2.3.tar.gz
”到 Ubuntu
系统,使用命令“tar -vxf zlib-1.2.3.tar.gz
”解
压,得到“zlib-1.2.3
”文件夹,使用命令“cd zlib-1.2.3
”进入“zlib-1.2.3
”文件夹。
接着使用命令“./configure --prefix=/home/project/ssh-arm/install/zlib-1.2.3
”,设置配置文件。
–prefix参数是设置安装路径
使用命令“vim Makefile
”修改编译参数,将所有 gcc 修改为“arm-none-linux-gnueabi-gcc
”。
使用编译命令“make
”。
使用安装命令“make install
”。
在后面编译 SSH 的时候,需要用到 zlib
库,作者这里的路径是“/home/project/ssh-arm/install
”下后面配置的时候需要对应,生成的库文件
这部分移植其实就是修改了编译器,修改编译器之后编译出的文件和不修改编译出来的文
件是不一样的。在移植过程中,可能因为没有将寄存器配置为目标系统的编译器,那么编译出来的一定运行不了。这里可以通过 linux 的 strings 命令查看非文本文件中的可读内容,通常可以和 grep 命令搭配使用。
如下图所示,使用命令“strings -a /home/project/ssh-arm/install/zlib-1.2.3/lib/libz.a
”可以查看到所有可读信息,可读信息比较多,可以保存为文本再查看;
使用命令“strings -a /home/project/s