社区
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程序里把密码输入。
...全文
417
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
打赏
举报
回复
估计这样子很难做到。
Ubuntu 22.04 配置高效安全的
rsync
守护进程服务详解
本文详解在Ubuntu 22.04 LTS上部署
rsync
守护进程服务的完整流程,涵盖
rsync
d.conf核心配置、
密码
文件安全权限设置(600)、模块化目录权限管理、systemd服务单元编写与启用、客户端非交互式认证同步、增量备份脚本示例,以及连接失败、权限错误和性能瓶颈等常见问题的排查与调优方法。
基于
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
远程同步核心原理与生产级实战指南
本文深入解析
rsync
在SSH远程shell模式下的核心工作原理,涵盖增量同步机制、断点续传实现、路径语义(斜杠关键性)、权限保留逻辑及安全边界(认证完全依赖SSH)。重点讲解黄金七参数(-a、-v、-z、--partial、--delete等)的生产级用法、常见报错根因(如Permission denied、Protocol mismatch)及排错方法,并给出网站同步、大文件限速、WSL适配等高阶实战方案。
Linux/Unix社区
23,224
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章