/etc/profile.d and "ssh -t"
- by petersohn
I wanted to run a script on a remote machine. The simple solution is this:
ssh remote1 some-script
This works until the remote script doesn't want to connect to another remote machine (remote2) which requires interactive authentication, like tis one (remote2 is only reachable through remote1 in this case):
ssh remote1 "ssh remote2 some-script"
The solution for the problem is to use the -t option for ssh.
ssh -t remote1 "ssh remote2 some-script"
This works, but I get probems in case I use this (where some-script may execute further ssh commands):
ssh -t remote1 some-script
I found that some environment variables are not set which are set when I don't use the -t option. These envrionment variables are set in scripts from /etc/profile.d. I guess that these scripts are not run for some reason if using the -t option, but are run if I don't use it.
What's the reason of this? Is there any way to work around it? I am using SUSE linux (version 10).