One of the cool features of Cygwin is being able to
cd into a remote Windows machine on your same network:
[0 user@machine ~]$ cd //remote-machine/c$ [0 user@machine //remote-machine/c$]$ ls Program Files/ Program Files (x86)/ ProgramData/ Users/ Windows/
This allows me to do a lot of things related to my job very quickly without having to use Windows Remote Desktop to connect.
However, sometimes I'll be working from home and I'll ssh into my work machine. From there, I'd like to be able to
cd to these same machines in the same way, but I'm unable to do so:
[0 user@machine ~]$ cd //remote-machine/c$ -bash: cd: //remote-machine/c$: Permission denied
I suspect it has something to do with how Cygwin sshd handles users when connecting through ssh. However, I know it is possible to do because I have a coworker that can do it. He, unfortunately, can't remember if he did anything special during his sshd setup.
Here is the output from my
ssh-host-config during my setup (started Cygwin mintty as administrator).
[0 user@machine ~]$ ssh-host-config *** Info: Generating missing SSH host keys *** Info: Creating default /etc/ssh_config file *** Info: Creating default /etc/sshd_config file *** Info: StrictModes is set to 'yes' by default. *** Info: This is the recommended setting, but it requires that the POSIX *** Info: permissions of the user's home directory, the user's .ssh *** Info: directory, and the user's ssh key files are tight so that *** Info: only the user has write permissions. *** Info: On the other hand, StrictModes don't work well with default *** Info: Windows permissions of a home directory mounted with the *** Info: 'noacl' option, and they don't work at all if the home *** Info: directory is on a FAT or FAT32 partition. *** Query: Should StrictModes be used? (yes/no) yes *** Info: Privilege separation is set to 'sandbox' by default since *** Info: OpenSSH 6.1. This is unsupported by Cygwin and has to be set *** Info: to 'yes' or 'no'. *** Info: However, using privilege separation requires a non-privileged account *** Info: called 'sshd'. *** Info: For more info on privilege separation read /usr/share/doc/openssh/README.privsep. *** Query: Should privilege separation be used? (yes/no) yes *** Info: Note that creating a new user requires that the current account have *** Info: Administrator privileges. Should this script attempt to create a *** Query: new local account 'sshd'? (yes/no) yes *** Info: Updating /etc/sshd_config file *** Query: Do you want to install sshd as a service? *** Query: (Say "no" if it is already installed as a service) (yes/no) yes *** Query: Enter the value of CYGWIN for the daemon:  ntsec *** Info: On Windows Server 2003, Windows Vista, and above, the *** Info: SYSTEM account cannot setuid to other users -- a capability *** Info: sshd requires. You need to have or to create a privileged *** Info: account. This script will help you do so. *** Info: It's not possible to use the LocalSystem account for services *** Info: that can change the user id without an explicit password *** Info: (such as passwordless logins [e.g. public key authentication] *** Info: via sshd) when having to create the user token from scratch. *** Info: For more information on this requirement, see *** Info: https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-nopasswd1 *** Info: If you want to enable that functionality, it's required to create *** Info: a new account with special privileges (unless such an account *** Info: already exists). This account is then used to run these special *** Info: servers. *** Info: Note that creating a new user requires that the current account *** Info: have Administrator privileges itself. *** Info: No privileged account could be found. *** Info: This script plans to use 'cyg_server'. *** Info: 'cyg_server' will only be used by registered services. *** Query: Do you want to use a different name? (yes/no) no *** Query: Create new privileged user account 'MACHINE\cyg_server' (Cygwin name: 'machine+cyg_server')? (ye s/no) yes *** Info: Please enter a password for new user machine+cyg_server. Please be sure *** Info: that this password matches the password rules given on your system. *** Info: Entering no password will exit the configuration. *** Query: Please enter the password: *** Query: Reenter: *** Info: User 'machine+cyg_server' has been created with password ''. *** Info: If you change the password, please remember also to change the *** Info: password for the installed services which use (or will soon use) *** Info: the 'machine+cyg_server' account. *** Info: The sshd service has been installed under the 'machine+cyg_server' *** Info: account. To start the service now, call `net start sshd' or *** Info: `cygrunsrv -S sshd'. Otherwise, it will start automatically *** Info: after the next reboot. *** Info: Host configuration finished. Have fun!
Other possibly-relevant info:
- My username is a domain user on my work's domain
- Machine running sshd is Windows 8.1 Enterprise