cyg...@kosowsky.org wrote at about 10:45:51 -0500 on Friday, January 3, 2020: > cyg...@kosowsky.org wrote at about 01:59:19 -0500 on Friday, January 3, 2020: > > > > The Windows variables $USERNAME, $USERPROFILE and $USERDOMAIN are set > properly > > when opening a cygwin bash shell on a Windows 10 machine. > > > > However when I *ssh* into that same machine (under the same user name), > > the variables are unset in the bash shell. > > > > More generally, it seems that none of my Windows User variables are > > set under a remote ssh bash shell while they are all inherited properly > > when opening a cygwin bash shell directly on the machine. > > > > I have not had that problem in the past on my other (older) Windows > > machine > > The only differences that come to mind are: > > 1. The other machine is Win7 and not Win10 > > 2. On this (Win10) machine I installed cygwin as a non-admin while the > > Win7 machine was installed with admin privileges > > 3. Because of #2, I start ssh on the Win 10 machine by running > > /usr/sbin/sshd manually as a user, while on Win 7, I am able to > > start sshd as a service, running as SYSTEM > > 4. This (Win10) machine doesn't have an /etc/passwd file whereas the > > Win7 machine does. > > > > I am assuming that #3 may be the source of the problem... > > > > Still seems strange that these seemingly very basic Windows variables > > are not available under ssh. > > > > Any way to fix this? > > > > Said another way, assuming that the issue is my non-admin Cygwin > install and my attendant need to run 'sshd' manually rather than as > service, what can I do to best 'fake' running 'sshd' as a service that > will allow it to load the environment variables automatically. > > For 'cleanliness' and 'consistency' purposes, I would like to do that > as a wrapper around the call to 'sshd' rather than by tampering with > /etc/sshd_config and /etc/sshd_config or by manually recreating and > exporting the > Windows variables in .bashrc or .bash_profile. In other words, I want > to keep my standard installation configuration as clean and unchanged > as possible. >
I verified that the difference is solely related to whether sshd is started directly by calling /usr/bin/sshd or by starting the service via 'cygrunsrv -S sshd' -- the former doesn't set the environment variables, while the latter does! Even if both are run with admin privileges! Really wish I knew what 'cygrunsrv' does differently... -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple