我有一个共享的SSH密钥与另一台服务器,所以我可以无需密码登录。执行:为什么rsync在bash脚本中提示输入密码,但在脚本之外执行时运行良好?
rsync -avze ssh --blocking-io --delete --rsh='ssh -p2020' [email protected]:/foo/* /bar/;
运行良好。没有密码提示。但在bash文件命令:
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
rsync -avze ssh --blocking-io --delete --rsh='ssh -p2020' [email protected]:/foo/* /bar/;
像下面这样运行:
sudo ./copyfiles.sh
给了我这样的:
[email protected]'s password:
任何想法,为什么?
你的根的〜/ .ssh /文件夹不包含您正在使用的服务器上进行身份验证的私钥。 – RedX
运行'sudo rsync -avze ssh --blocking-io --delete --rsh ='ssh -p2020'[email protected]:/ foo/*/bar /;''会发生什么? – Donovan