权限被拒绝(公钥,键盘交互)得到这个错误,而我想从CVS CVS结帐。权限被拒绝(公钥,键盘交互)
什么是问题和如何reslove这?
代码:
system ("CSVROOT:--- CVSRSH:--- cvs co a ");
# i have proper value in cvs root and cvs rsh .
其单独运行,并使用SSH密钥
权限被拒绝(公钥,键盘交互)得到这个错误,而我想从CVS CVS结帐。权限被拒绝(公钥,键盘交互)
什么是问题和如何reslove这?
代码:
system ("CSVROOT:--- CVSRSH:--- cvs co a ");
# i have proper value in cvs root and cvs rsh .
其单独运行,并使用SSH密钥
步骤来诊断错误:
cron
作业不相同的环境下运行),那么很有可能是最近的答案是真的没有。如果脚本正在从调度程序运行,如cron
,它很可能不会在您手动运行时使用相同的环境运行。我通常解决这个问题的方法是使用调度和Perl脚本之间的shell脚本:查斯后
#!/bin/bash
source /home/USERNAME/.profile
#set any other environment variables it needs like
export CSVROOT=:pserver:[email protected]:/path/to/repo
export CVSRSH=ssh
/path/to/perl/script/script.pl
所有问题的答案是YES – Tree 2010-06-11 11:23:52
跟进调查的问题:
是否该命令正常运行在/bin/sh
或其他一些shell? 要测试,执行/bin/sh
命令来启动Bourne shell并再次手动尝试该命令。 我不熟悉“CVSROOT:---”符号 - 是否意味着设置CVSROOT环境变量?在Bourne shell中,通常使用“=”来完成,从未看到“:”被使用。
手动运行的命令是否需要您输入一些信息?我从来没有见过cvs co
这样做,但我不使用它与ssh。
尝试将重定向添加到命令的末尾,看看有什么文件在运行后:
system ("CSVROOT:--- CVSRSH:--- cvs co a > /tmp/log_cmd 2>&1");
也许这个问题应该去serverfault.com? – pakore 2010-06-11 11:14:17