我有一個共享的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