Applies to: Centrify-Enabled OpenSSH 5.2p1-4.3.1.139 on SuSe Linux Enterprise 10 and RedHat EL 4
Question:
In previous versions of Centrify-Enabled Openssh, one used to be able to run 'ssh hostname "printenv"' remotely and it would give you the full output of env. However, with Centrify-Enabled OpenSSH 5.2p1-4.3.1.139, executing the same ssh command will only yield a partial output of env.
Why is user's local profile .bashrc not getting executed starting with Centrify-Enabled OpenSSH 5.2p1-4.3.1.139 ?
Answer:
1) The .bashrc should be read by bash only when the shell is interactive or when the stdin is a socket. In the Openssh 5.0p1 and previous versions, the stdin was socket but that had caused other problems. Now the stdin is pipe and thus the .bashrc is not read.
2) The bash in RedHat Linux versions disabled SSH_SOURCE_BASHRC by default. See code from bash-3.2-24.el5.src.rpm: bash-3.2/config-top.h:
/* Define this if you want bash to try to check whether it's being run by sshd and source the .bashrc if so (like the rshd behavior). */
/* #define SSH_SOURCE_BASHRC */
For a workaround, please refer to RedHat bugs links below:
https://bugzilla.redhat.com/show_bug.cgi?id=468054https://bugzilla.redhat.com/show_bug.cgi?id=458839Or simply revert back to Centrify-Enabled Openssh 5.0p1