社区
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程序里把密码输入。
...全文
400
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
备份Windows事件日志
本文介绍如何使用cw
Rsync
Server和
rsync
在Windows上备份Application、Security、Setup、System事件日志。通过创建硬链接并配置
rsync
服务端,实现事件日志的定期同步。客户端通过批处理脚本定时执行
rsync
命令,确保事件日志的实时更新。
Rsync
简介和部署
本文介绍了
Rsync
工具,它是一个用于在LAN/WAN进行快速文件同步的工具,尤其适合类Unix系统。
Rsync
的特点包括高效的数据同步算法、支持多种传输方式和文件属性保持等。文章详细讲解了
Rsync
的基本命令参数,并提供了
Rsync
在CentOS上的安装和部署步骤,包括设置
密码
文件、配置备份目录以及无
密码
传输数据等。
rsync
参数断点续传
本文详细介绍
rsync
命令的各种参数及应用场景,包括断点续传、追加模式、超时设置等功能,以及如何通过不同参数组合实现高效的数据同步。
【运维】Linux 跨服务器复制文件文件夹
本文详解Linux下使用scp命令实现跨服务器安全复制文件与目录的方法,涵盖命令格式、核心参数(如-r递归、-p保留权限、-C压缩等)、本地与远程双向传输实例,并对比scp与
rsync
在小文件场景下的性能差异。强调内网IP优先、加密传输、低系统开销等运维实践要点。
Linux常用命令
本文系统梳理Linux常用核心命令,涵盖文件压缩解压(zip/rar/tar.gz)、权限管理(chmod)、用户与
密码
操作、SSH配置与远程传输(scp/
rsync
)、进程控制(ps/kill/lsof/ss)、磁盘管理(挂载/格式化/UUID/大小统计)、网络诊断(端口检测/ping/telnet)、包管理(apt/dpkg/yum)、Shell脚本基础、环境变量配置及ACL权限等关键领域,适用于Ubuntu/CentOS/统信UOS等主流发行版。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章