社区
Linux/Unix社区
帖子详情
C程序调用system启动rsync,密码不知道怎么输入。
Jackindata
领域专家: 嵌入式与硬件开发技术领域
2012-08-29 02:54:27
在Linux系统中,当前目录下有一个静态编译好的rsync,执行./rsync然后输入密码是能够正常运行的。现在我在C程序中调用system("./rsync -vzr dir1 192.168.1.11:/root/dir2"); shell终端提示我要输入密码,但是我不知道该怎么样在C程序里把密码输入。
...全文
412
8
打赏
收藏
C程序调用system启动rsync,密码不知道怎么输入。
在Linux系统中,当前目录下有一个静态编译好的rsync,执行./rsync然后输入密码是能够正常运行的。现在我在C程序中调用system("./rsync -vzr dir1 192.168.1.11:/root/dir2"); shell终端提示我要输入密码,但是我不知道该怎么样在C程序里把密码输入。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jackindata
2012-08-31
打赏
举报
回复
我也看到过有用expect来实现密码输入的。但是开发板的剪裁过的Linux系统也不支持这个expect 。
Jackindata
2012-08-31
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
引用 3 楼 的回复:
system("echo password|./rsync -vzr dir1 192.168.1.11:/root/dir2")
或者rsync可以配置成不用密码的
rsync是通过ssh来建立连接的。如果我直接在shell终端下执行 echo 123 | ssh 192.168.1.11 来建立ssh连接,会有如下出错提示:Pseudo-ter……
[/Quote]
ssh 加入-tt 选项就没有那个错误了。执行 echo 123 | ssh -tt 192.168.1.11 还是会提示输入密码,输入密码123后,链接到ssh成功,而且123被当作命令来执行了。而且,用键盘输入其他命令如ls都执行不了。只能Ctrl+c退出ssh返回到本机终端。
Jackindata
2012-08-31
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
设置ssh 不需要密码
1、客户端产生公钥,执型下面命令,按两次【Enter】,产生公钥id_rsa.pub
ssh-keygen -f id_rsa -t rsa
2、上传公钥文件到服务器
scp id_rsa.pub root@xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys
3、保存私钥
cp id_rsa ~.ssh
如果成功,则ss……
[/Quote]
这个方法我试过,但由于我的客户端rsync运行在开发板上,没有ssh-keygen工具。
root_jli
2012-08-31
打赏
举报
回复
设置ssh 不需要密码
1、客户端产生公钥,执型下面命令,按两次【Enter】,产生公钥id_rsa.pub
ssh-keygen -f id_rsa -t rsa
2、上传公钥文件到服务器
scp id_rsa.pub root@xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys
3、保存私钥
cp id_rsa ~.ssh
如果成功,则ssh到服务器不询问密码
Jackindata
2012-08-31
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
system("echo password|./rsync -vzr dir1 192.168.1.11:/root/dir2")
或者rsync可以配置成不用密码的
[/Quote]
rsync是通过ssh来建立连接的。如果我直接在shell终端下执行 echo 123 | ssh 192.168.1.11 来建立ssh连接,会有如下出错提示:Pseudo-terminal will not be allocated because stdin is not a terminal 。而先执行 ssh 192.168.1.11 再按提示输入密码是可以正常ssh的。
lylm
2012-08-30
打赏
举报
回复
system("echo password|./rsync -vzr dir1 192.168.1.11:/root/dir2")
或者rsync可以配置成不用密码的
jianzhibeihang
2012-08-30
打赏
举报
回复
这个问题有点意思
貌似没啥办法啊
Linux-Torvalds
2012-08-29
打赏
举报
回复
估计这样子很难做到。
基于
rsync
+Lsyncd做局域网内,实时文件同步
本文介绍在CentOS等Linux系统中,利用
rsync
与lsyncd组合实现局域网内低延迟、自动化文件实时同步的完整方案。涵盖环境准备、lsyncd源码编译安装、systemd服务配置、SSH免密登录设置、Lua格式配置文件详解、排除规则、inotify触发机制及生产环境部署注意事项。
Linux实时文件同步:
rsync
+se
rsync
架构部署与性能调优指南
本文详细阐述Linux环境下基于
rsync
与se
rsync
构建实时文件同步系统的完整方案。重点涵盖
rsync
守护进程配置、se
rsync
事件监听与触发机制、Inotify内核监控原理、过滤规则与失败重试策略、性能调优参数(如inotify限制、线程数、
rsync
选项),以及监控指标、日志排查和日常维护方法。强调二者分工:se
rsync
负责变更感知,
rsync
执行高效增量同步,共同实现分钟级RPO保障。
使用
rsync
备份Windows事件日志
本文介绍如何使用cw
Rsync
Server和
rsync
在Windows上备份Application、Security、Setup、System事件日志。通过创建硬链接并配置
rsync
服务端,实现事件日志的定期同步。客户端通过批处理脚本定时执行
rsync
命令,确保事件日志的实时更新。
基于
rsync
+se
rsync
实现服务器目录实时同步与数据备份方案详解
本文详解基于
rsync
与se
rsync
组合的服务器目录实时同步与数据备份方案。核心包括:se
rsync
利用inotify监控文件变化,触发
rsync
增量同步;采用推送模式实现秒级响应;配置
rsync
daemon服务、se
rsync
过滤规则、失败重传及安全认证;涵盖海量小文件优化、带宽限制、SSH替代方案;提供延迟排查、权限问题处理、网络中断恢复及心跳文件监控等运维实践。
Rsync
简介和部署
本文介绍了
Rsync
工具,它是一个用于在LAN/WAN进行快速文件同步的工具,尤其适合类Unix系统。
Rsync
的特点包括高效的数据同步算法、支持多种传输方式和文件属性保持等。文章详细讲解了
Rsync
的基本命令参数,并提供了
Rsync
在CentOS上的安装和部署步骤,包括设置
密码
文件、配置备份目录以及无
密码
传输数据等。
Linux/Unix社区
23,224
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章