组件选型
| 组件 | 说明 |
|---|---|
sftp-client lib |
依赖ssl crypto等加密库 |
scp shell |
仅与系统shell相关 |
以前曾经论述过,如果我们借用一些开源组件,应(Should)尽量使用依赖库少的;而对于存在依赖库,而依赖又是加密相关的库,则更是要慎之又慎之。
加密库,不同于libc库,库API在版本间变化比较大,而且经常存在兼容性问题。
所以,在引用sftp-client库进行客户端和服务器间的文件拷贝时,特别在非性能相关的场景,我的建议是使用更简单的scp shell命令进行替代!
使用scp首先遭遇的问题
用scp替换第一个遇到的问题,就是对于命令调用中密码的输入问题。
- 笔者粗略研究了下免密的处理
当然,这里最安全的免密做法,是通过ssh-keygen和ssh-copy-id的命令族进行配置非对称加密证书。
次之,则选用sshpass或expect组件,进行免交互处理。
但是,按照前面所述的原则,因为expect组件的依赖众多,虽然expect是一个更通用的免交互输入框架,但是,对于我们所要替代的sftp-client

最低0.47元/天 解锁文章
3395

被折叠的 条评论
为什么被折叠?



