SSH без пароля с использованием скрипта cgi-perl - PullRequest
1 голос
/ 24 мая 2010

Это мой первый шанс попробовать скрипты cgi-perl.У меня установлены SSH-ключи между моей (root-пользователем) локальной машиной и удаленной машиной.Я пытаюсь выполнить команду на удаленном компьютере и отобразить вывод на веб-странице, размещенной на моем локальном компьютере.Сценарий работает нормально из командной строки, однако выдает ошибку ключа SSH при вызове с веб-страницы, поскольку пользователь, выполняющий сценарий, является apache, а не root.Есть ли способ обойти эту проблему?

1 Ответ

2 голосов
/ 24 мая 2010

Если у вас еще нет ограниченной учетной записи, создайте ее, создайте ключи SSH и добавьте команды, которые пользователь должен выполнять через sudo, в файл /etc/sudoers (например, через visudo, больше о sudoers). Это самый безопасный подход imho.
Вы даже можете ограничить пользователя таким образом, что он может только выполнять эти команды. Для

Я не знаю про 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...