У меня есть вопрос, связанный с подключением через ssh с функцией «system()» в perl.вызов «ssh» в системной функции в perl
В моем скрипте perl я хочу подключиться через ssh к другому ip, запустить команду и вернуть ее значение или перенаправить результат результата в файл.
system ("su - anotherUSer ; ssh [email protected]");
(я изменить свое имя, так что я не запрошен пароль)
, когда я выполнить это только строки она меняет имя пользователя правильно, но не подключается через SSH. Другими словами, вторая часть системного вызова не выполняется (или выполняется, но не отражается на терминале).
Если я ввожу mannualy на сервер, где этот скрипт выполняет и запускает эти две команды, я могу запускать их без ошибок.
Когда я запускаю команду «выход», чтобы выйти из системы моего пользователя anotherUser ошибка возникает:
(SSH: «имя пользователя» «IP»:. Имя узла или службы имя не известно)
Я также испытанный он ускользает от «@» и «.»
system ("su - anotherUSer ; ssh someUsername\@number\.number\.number\.number");
в этом случае, когда я запустить команду «выход», он askes для пароля (Помните, что я swiched пользователей так, что пароль может быть опущен).
Надеюсь, вы понимаете мою проблему.
Спасибо !!!
Попробуйте 'ssh someUsername @ someIpAddress" su - anotherUser ". Затем вы измените имя пользователя на другом компьютере после входа в систему с помощью ssh .. –