linux下sftp
来源:互联网 发布:2017人工智能最新进展 编辑:程序博客网 时间:2024/06/07 06:23
不得不说,linux真是一片沼泽地,一脚踏进去就觉得寸步难行。
我要做的事情是,将linux下的sftp封装成一个接口函数,方便在需要的地方调用。我编译ssh,编译rootfs,将其加载到系统中之后,发现有的地方加的打印能打印,有的地方无论怎么改都不能打印,这个事情我在之前也碰到过一次,后来发现是没有将编译生成的文件打包到rootfs中,所以尽管每次编译,但是加载rootfs时都是旧的文件。这次也一样,我经过打印跟踪发现,我添加的打印的内容被编译进了ssh,而ssh没有被打包进rootfs,所以我修改根目录下的Makefile解决了这一问题,同时我发现ssh_config,sshd_config这两个文件在openssh文件夹下都存在,所以我就在Makefile中将这两个文件也进行了打包,使其进入到目标机相应目录,然后,然后sftp就不能正常工作了。我一直都觉得是因为ssh文件被替换导致的,所以去看代码,linux源码,看得头昏脑涨,看不出个所以然。这个问题纠结了我一天,然后今天晚上,在高人的指点下,让我比较明朗。
现叙述如下:
sftp、ssh等的成功编译、运行,需要ssh_config文件及sshd_config文件,这两个文件怎么得到呢,当然可以手动编写,还有一种方法,别忘了虚拟机跑的是linux系统,而且是开源的,目标板上也是跑linux系统,所以可以将虚拟机上的配置文件拿过来,经过修改再使用。
这两个配置文件在虚拟机/etc/ssh目录下,进入root权限将该目录下的所有文件都拷贝出来。在这所有文件中,ssh_config和sshd_config这两个文件除了是配置文件需要放在目标板etc目录下之外,还是编译ssh过程中必须的文件,因此将ssh_config和sshd_config这两个文件经过修改之后放到openssh目录下,将其他文件直接放到目标机etc目录下。虚拟机ssh目录如下:
在open_src\rootfs\usr\local\etc目录下包含了以下配置文件:
除了刚刚放进去的那些配置文件之外,ssh_config和sshd_config既可以手动放进去,也可以在Makefile中将这两个文件打包到rootfs。此外,还有vsftpd.conf文件,手动编写的sftp配置文件。
目标板shell下的配置文件如图所示:
至此,环境方面的工作就搞定了。剩下的就是编译,首先要在编译ssh的Makefile中,将编译生成的ssh、sshd、sftp三个文件拷贝到rootfs将要打包的位置,然后在根目录中的Makefile中,将ssh、sshd、sftp这三个文件都打包到rootfs中,这样,加载了rootfs时,就可以将最新的文件带入,这一点可以在启动系统之后进入shell验证。
- linux 下使用SFTP
- Linux下SFTP搭建
- linux下sftp
- Linux下使用sftp
- Linux下搭建 SFTP
- linux下sftp常用命令
- Linux 下SFtp服务器架设
- linux下的sftp命令
- Linux下使用SFTP命令
- linux下sftp上传下载命令
- Linux下配置SFTP服务器
- linux下如何使用sftp命令
- linux下如何使用sftp命令。
- linux下如何使用sftp命令。
- linux 命令行 下sftp操作命令
- linux下如何使用sftp命令
- linux下FTP、SFTP命令详解
- linux下如何使用sftp命令--转载
- 自顶向下的语法分析(修改)
- hook Activity的mInstrumentation变量
- 18. Yii 2.0 依赖注入容器
- apache HttpClient学习(一)——简单的post请求
- 彻底理解js中this的指向
- linux下sftp
- HLS协议深入分析——时间线介绍(二)
- servlet路径访问问题
- Android 6.0 新功能及主要 API 变更
- class和ID的区别
- 122. Best Time to Buy and Sell Stock II**
- 使用Vitamio打造自己的Android万能播放器(1)——准备
- 反射:运行时的类信息
- 51NOD 1672 区间交 线段树