Tips for finding Knowledge Articles

  • - Enter just a few key words related to your question or problem
  • - Add Key words to refine your search as necessary
  • - Do not use punctuation
  • - Search is not case sensitive
  • - Avoid non-descriptive filler words like "how", "the", "what", etc.
  • - If you do not find what you are looking for the first time,reduce the number of key words you enter and try searching again.
  • - Minimum supported Internet Explorer version is IE9
Home  >
article

KB-2385: Deployment Manager Fails if root shell is different from bash or Bourne

Centrify DirectControl ,  

12 April,16 at 11:12 AM

Applies to:
 
All versions of Centrify Deployment Manager.
 
Question:
 
The following message is observed in the Deployment Manager stack trace when trying to deploy a Centrify agent.
 
 
---- STACK TRACE ---- 
at Centrify.Util.AsyncStream.Read(Byte[] buffer, Int32 offset, Int32 count) 
at Centrify.NetIO.Expector.Expect(Regex[] exprs, Boolean truncate) 
at Centrify.NetIO.NetIOBase.ExpectAndRespond(Dictionary`2 expects, Regex targetPromptEx) 
at Centrify.NetIO.NetIOBase.Initialize(IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt) 
at Centrify.NetIO.Ssh.Shell..ctor(SSH2Connection connection, TextWriter log, Int32 timeout, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt) 
at Centrify.NetIO.Ssh.Connection.OpenShell(Int32 timeout, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt) 
at Centrify.NetIO.Ssh.NetShell..ctor(String host, String user, String password, Int32 timeout, TextWriter log, TerminalCallback callback, Boolean useGSS, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt) 
at Centrify.NetIO.NetShellFactory.MakeNetShell(String host, String user, String password, Int32 timeout, TextWriter log, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt) 
at Centrify.DeploymentManager.Task.ComputerTask.MakeNetShellByAccount(String host, String user, String password, Int32 timeout, ConnectionType conn, TextWriter log, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt) 
at Centrify.DeploymentManager.Task.ComputerTask.MakeNetShell(RunArguments args, String ipOrHost, Boolean isLogCommands) 
at Centrify.DeploymentManager.Task.ComputerTask.PrepareNetShellAndRun(RunArguments args, String ipOrHost) 
 
 
Its not possible to determine what is causing this because its possible to SSH using Putty to the machine and authenticate as root with no issues. The shell for root is csh.
 
 
Answer:
 
For the root user, Centrify's Deployment Manager uses the bash shell as the default. If there is any other shell like csh or tcsh, this issue will occur.  Customers are advised to change the root shell to /bin/bash or Bourne (/sh) on their Unix server for DM to work.
 
(or)
 
Change Registry on the Windows machine running DM as follows:

 
Add a Multi-String Value "Default Connect Expects" under HKCU\Software\Centrify\Deployment Manager in registry
and add following string values:

[\#\$\>\~]\s*$
set prompt=NetShell:

Still have questions? Click here to log a technical support case, or collaborate with your peers in Centrify's Online Community.