For most people starting in data analysis today I recommend Python + VSCode as the development environment. Amongst the reasons for recommending VSCode is the superb remote development capabilities which is often critical for analysing large datasets for which it makes no sense to run the development front end on the same machine as is doing the data analysis.
Of course to make remote development smooth and secure it is usually desirable to remove the need to enter passwords manually. Normally I recommend use of a hardware key, such as Yubi key, for SSH authentication. This ensures an additional level of security over that provided by Windows while having a very easy user-interface.
The mechanism for enabling for enabling SSH authentication with Yubikey is described here but here is my recipe for getting everything running smoothly with VSCode:
Install Git for Windows SDK – we will use the OpenSSH version supplied for this
Install GPG4Win, and enable putty support as explained here on the Yubikey pages
In the git sdk bash shell run the command
eval $(/usr/bin/ssh-pageant -r -a "/tmp/.ssh-pageant-X")
Check that you can ssh into desired hosts by using the ssh command in the bash window.
- Create a Windows batch file which picks up the
ssh-pageantauthorisation socket and then calls the git-sdk openssh:
c:\git-sdk-64\usr\bin\bash -c "SSH_AUTH_SOCK='/tmp/.ssh-pageant-X'; export SSH_AUTH_SOCK; /c/git-sdk-64/usr/bin/ssh %*"
Save this file somewhere, e.g.,
In VSCode, open the
Remote-SSHplugin settings and specify your batch file, i.e.,
- Remember that if you need to use the Proxy option in the
.ssh/configfile (to hop over an intermediate ssh server), you need to specify the
sshcommand with full path, i.e.,
Host myhost ProxyCommand /c/git-sdk-64/usr/bin/ssh intermediatehost nc myhost 22
And this should do it — smooth and secure remote SSH logins.