12 April,16 at 11:09 AM
Applies to:
Deployment Manager 2.1.1 and earlier.
Problem:
The login shell of root is ksh and an interactive prompt has been configured after ssh connection is issued.
When an attempt is made to deploy a Centrify package, the Deployment Manager returns an operation timeout:
---- ERROR DETAILS ----
Source: Centrify.Cfw.Core
Type: System.TimeoutException
Message: The operation has timed out.
Help link:
---- 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 identityFile, String user, String pass, Int32 timeout, TextWriter log, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt)
at Centrify.DeploymentManager.Task.ComputerTask.MakeNetShellBySshKey(String host, String user, String privateKeyPath, String passphrase, Int32 timeout, 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)
Cause:
This is the ksh shell behavior and Deployment Manager (2.1.1 and below) cannot handle it correctly.
Workaround:
As this is a default behavior of ksh, please change the login shell to any other shell, for example bash.
Resolution:
Centrify has enhanced Deployment Manager from 2.1.2 onwards. Please upgrade to Deployment Manager 2.1.2 or above and perform the steps below:
1. Install DM and launch it
2. Add custom registry values:
(1). Add a new key "Common" under HKCU\Software\Centrify\
(2). Add a String Value "NetShell Prompt" under
HKCU\Software\Centrify\Common in registry and set "NETSHELL:" as its value data
3. Close DM and launch it again