Bug 1515888 - [RFE] Extend Remote Execution SSH provider with the ability to provide password to escalate privileges instead of passwordless sudo
Summary: [RFE] Extend Remote Execution SSH provider with the ability to provide passwo...
Alias: None
Product: Red Hat Satellite 6
Classification: Red Hat
Component: Remote Execution
Version: 6.2.12
Hardware: Unspecified
OS: Unspecified
unspecified vote
Target Milestone: 6.4.0
Assignee: Dmitri Dolguikh
QA Contact: Ales Dujicek
Depends On:
TreeView+ depends on / blocked
Reported: 2017-11-21 14:46 UTC by Ture Karlsson
Modified: 2019-11-05 23:10 UTC (History)
8 users (show)

Fixed In Version: tfm-rubygem-foreman_remote_execution-1.5.2-2
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-10-16 15:29:23 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:2927 None None None 2018-10-16 15:29:54 UTC
Foreman Issue Tracker 21731 None None None 2017-11-22 08:14:30 UTC

Description Ture Karlsson 2017-11-21 14:46:26 UTC
Description of problem:
To be able to run commands that require escalated privileges (sudo), it is currently required to set sudo rule "NOPASSWD" for the SSH user on the target host. (For Red Hat IdM users, the same thing can be achieved with a sudo rule with the sudo option "!authenticate".)

"NOPASSWD" (i.e. passwordless sudo) is not acceptable in all environments and therefore it would be useful to be able to provide a password used for privilege escalation at the remote host.

As a reference, this would be similar to the "--ask-become-pass" option in Ansible.

Version-Release number of selected component (if applicable): 6.2.12

How reproducible: Always

Steps to Reproduce:
1. Setup REx with a user that is not root, e.g. by following https://access.redhat.com/solutions/2650071 
2. Notice that you have to set "test-user ALL=NOPASSWD: ALL" in your sudoers config

Suggested solution:
In the settings for REx (Administer -> Settings -> RemoteExecution) there are currently 3 settings concerning user and privilege escalation:

remote_execution_ssh_user: testuser
remote_execution_effective_user: root
remote_execution_effective_user_method: sudo

My suggestion is to add another setting, e.g:

remote_execution_sudo_password: ***

That password is then used to escalate privileges at the remote host after authenticating with the user specified in "remote_execution_ssh_user".

Comment 1 Ivan Necas 2017-11-22 08:14:27 UTC
Created redmine issue http://projects.theforeman.org/issues/21731 from this bug

Comment 2 pm-sat@redhat.com 2018-04-05 00:06:35 UTC
Upstream bug assigned to ddolguik@redhat.com

Comment 3 pm-sat@redhat.com 2018-04-05 00:06:39 UTC
Upstream bug assigned to ddolguik@redhat.com

Comment 4 pm-sat@redhat.com 2018-05-04 08:06:53 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/21731 has been resolved.

Comment 10 errata-xmlrpc 2018-10-16 15:29:23 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.