Запуск eval `ssh-agent -s` выдает ошибки
Попытка запустить команду eval `ssh-agent -s с параметром команды puppet, который выдает мне следующую ошибку:
exec { 'eval' :
command => "eval `ssh-agent -s`",
}
Дает мне эту ошибку:
Error: Validation of Exec[eval] failed: 'eval `ssh-agent -s`' is not qualified and no path was specified. Please qualify the command or specify a path. at /puppet.pp:18
Wrapped exception:
'eval `ssh-agent -s`' is not qualified and no path was specified. Please qualify the command or specify a path.
3 ответа
Вам нужно настроить PATH для вас exec. Я могу быть определен локально, установив параметр пути:
exec { 'eval' :
command => "eval `ssh-agent -s`",
path => [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ],
}
или глобально:
Exec { path => [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ] }
Вам нужно использовать полный путь.
Например, либо:
exec { "sample":
command => "/usr/bin/test",
}
или же:
exec { "sample":
path => ['/usr/bin', '/usr/sbin', '/bin'],
command => "test",
}
Ваш подход ошибочен.
Невозможно управлять средой агента Puppet, выполняя команды через exec
Ресурсы. Каждый такой ресурс разветвляется на подпроцесс, который является независимым, а основное окружение остается неизменным.
Обновление: лучший подход, чтобы позволить Puppet работать с ssh-agent
зависит от того, как вы запускаете Puppet agent. Например, если вы используете /etc/init.d/puppet start
, вы хотите изменить этот скрипт инициализации, чтобы обернуть процесс Puppet в ssh-agent
непосредственно. Если вы бежите от cron
, смени работу для запуска ssh-agent
и т.п.