1

这是我第一次尝试 cgi-perl 脚本。我在我的(root 用户)本地机器和远程机器之间设置了 SSH 密钥。我正在尝试在远程机器上运行命令并在本地计算机托管的网页上显示输出。该脚本从命令行运行良好,但是从网页调用时会引发 SSH 密钥错误,因为运行该脚本的用户是 apache 而不是 root。有没有办法解决这个问题?

4

1 回答 1

2

如果您还没有受限制的帐户,请创建一个,创建 SSH 密钥并将应该允许用户执行的命令添加sudo/etc/sudoers文件中(例如 via visudo更多 aboutsudoers)。这是最安全的方法恕我直言。
您甚至可以限制用户,使他只能执行这些命令。为了

我不知道 Perl,但通常你可以指定哪个用户应该通过 SSH 登录:

ssh user@host

更新:

你在用Net::SSH::Perl模块吗?如果是这样,只需user相应地设置:

my $host = "perlhowto.com";
my $user = "user";
my $password = "password";

#-- set up a new connection
my $ssh = Net::SSH::Perl->new($host);
#-- authenticate
$ssh->login($user, $pass);

(我刚刚复制并粘贴了这段代码perlhowto.com

于 2010-05-24T18:42:41.763 回答