Tips for Windows Users
These are some basic tips for users whose primary machines are Windows.
Logging into Picotte
Logins to Picotte are via commandline only, using SSH. Here are four ways to do so.
SSH through PowerShell
PowerShell[1] is a terminal and command line interface for Windows. It is pre-installed on Windows 10 and 11.
Windows 10 provides the full OpenSSH suite as an optional feature,[2] while Windows 11 should have OpenSSH installed by default.
Installation instructions for Windows 10: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Once installed, run the ssh
command within Windows PowerShell.[3] Make
sure to specify your Picotte username because it will likely be
different from your Windows username, e.g.
PS C:\Users\myname> ssh juser@picotte001.urcf.drexel.edu
Here are a couple of tutorials on how to use this feature on Windows 10:
- https://www.howtogeek.com/336775/how-to-enable-and-use-windows-10s-built-in-ssh-commands/
- https://www.pugetsystems.com/labs/hpc/How-To-Use-SSH-Client-and-Server-on-Windows-10-1470/
N.B.
- To copy something, select (highlight) the text with your mouse, then right click anywhere on the selected text.
- To paste something, e.g. a password, that you have copied, click the right mouse button inside the PowerShell window.
Newer versions of PowerShell are available here: https://github.com/PowerShell/powershell/releases (click on "show all assets" to see the Windows packages). Install instructions here: https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.2
SSH through VS Code
Visual Studio Code is the recommended method, unless you need remote display (e.g. to run Matlab's graphical user interface).
Visual Studio Code offers an extension pack allowing you to control a remote device using SSH. It offers an integrated terminal and lets the user take advantage of VS Code's features like:
- Installing/using extensions
- Language support
- Easy exploration and file management
- Convenient viewing of files like images/pdfs
- Jupyter notebook front-end
Please see: Visual Studio Code setup
MobaXterm
MobaXterm[4] provides a terminal, remote display capability, and a graphical file transfer interface.
NOTE
- To paste some text, Right-Click your mouse in the terminal window.
- To copy some text from the terminal, just highlight it with the mouse. There will be no other indication that the text has been copied.
OpenSSH in Windows 10
Windows 10 provides the full OpenSSH suite as an optional feature.[5]
Installation instructions: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Once installed, run the ssh
command within Windows PowerShell.[6] Make
sure to specify your Picotte username because it will likely be
different from your Windows username.
Here are a couple of tutorials on how to use this feature:
- https://www.howtogeek.com/336775/how-to-enable-and-use-windows-10s-built-in-ssh-commands/
- https://www.pugetsystems.com/labs/hpc/How-To-Use-SSH-Client-and-Server-on-Windows-10-1470/
PuTTY
PuTTY[7] is an ssh client for Windows. Instead of PuTTY, we recommend PowerShell[8] (see above).
Other SSH Clients
If for some reason PuTTY does not work, you may use one of these alternatives:
- Use the Google Chrome browser, and install the Secure Shell Chrome App. This will run the remote terminal in a tab in your Chrome browser. It also has a built-in sftp client for file transfers.
- Termius, an open source SSH terminal client (also includes PowerShell terminal)
- terminus (alpha release)
- This free SSH client from the makers of WinSCP
- Bitvise SSH client
Transferring Files
MobaXterm
MobaXterm provides a graphical interface for SFTP. See below.
SSH through VS Code
Moving files is simple in VS Code:
- To upload a file, open the remote directory in the file explorer and drag the file you want to copy to the explorer window.
- To download a file from the remote server, right-click on the file from VS Code's file explorer and click on download.
OpenSSH in Windows 10
The OpenSSH feature in Windows 10 provides all the usual OpenSSH command line tools: ssh, sftp, scp. See above for links to information on installing it.
Use PowerShell to run it -- type "yes" at the question "Are you sure you want to continue connecting?":
Tutorial for using sftp: https://www.digitalocean.com/community/tutorials/how-to-use-sftp-to-securely-transfer-files-with-a-remote-server
WinSCP
WinSCP supports some newer encryption standards.
Download it from: http://winscp.net/eng/index.php
Code 32 system error WinSCP may raise this error in certain circumstances. The solution is:
Options >> Preferences
1. select Storage (in left panel) and under the Configuration storage section, select ‘INI file’ AND
2. select Endurance (in left panel) and under the Enable transfer resume/transfer to temporary filename section, select ‘disable’
PuTTY
The PuTTY[9] project also includes an SCP and SFTP client, downloadable from the link above.
FileZilla
NOT RECOMMENDED FileZilla has some issues with connection because it tries all available SSH keys, which may lead to multiple authentication failures before it succeeds in logging in. There seems to be no fix for this issue on Windows, at least, and possibly the other platforms.
FileZilla is a graphical file transfer program that supports SFTP and FTP: https://filezilla-project.org/
To connect to the login nodes, use one of the following as the "Host" in the quick connect bar:
sftp://picotte001.urcf.drexel.edu
DeltaCopy
DeltaCopy is an rsync implementation for Windows (which cheats a little by using Cygwin, a Linux-like environment for Windows).
Rsync provides differential updates, which makes it well-suited for keeping a directory tree synchronized between two computers.
Text Editors
Some Windows text editors handle multiple line-ending styles, e.g.
Graphical Display to Windows
If you want to use a GUI application on the login node (picottelogin
),
your Windows machine must have an X11 server installed to be able to
display the GUI. Either of the two below should work.
Once installed, ssh to the Picotte login node giving the "-X" option:
ssh -X myname@picotte001.urcf.drexel.edu
Or use your SSH client application setup to enable "X11 Forwarding".
Then, try the command "xclock": if your setup is working, you should see a small analog clock window pop up.
NOTE: remote display in this manner is very slow, and noticeably laggy.
MobaXterm
- MobaXterm[10] -- NB apparently uses Cygwin/X and PuTTY under the covers.
- MobaXterm is set up to do remote display by default. No additional configs should have to be changed.
X-Win32
Drexel has a license for X-Win32. Download is available at:
See documentation at: https://www.starnet.com/xwin32/
XMing
Use XMing:
See also their documentation on how to set up PuTTY for remote display:
Password-protected ZIP Files
If you have a password-protected ZIP file created by WinZIP, it cannot
be decrypted by the "unzip
" program. Use "7za
" instead:
[juser@picotte001 ~]$ 7za e
myfile.zip
Scripts Created on Windows
Text files on Windows have different line endings.[11] This may cause scripts (shell scripts, Matlab .m files, makefiles, etc.) to fail when used on Linux.
To convert a Windows text file to a Linux text file, use the dos2unix
command:
[juser@picotte001 ~]$ dos2unix filename
References
[1] Microsoft - Windows PowerShell Documentation
[2] Windows Server Administration: OpenSSH in Windows (while this is documentation for Windows Server, OpenSSH is available in Windows 10, as well)
[3]
[4] MobaXterm
[5] Windows Server Administration: OpenSSH in Windows (while this is documentation for Windows Server, OpenSSH is available in Windows 10, as well)
[6] Microsoft - Windows PowerShell Documentation
[7] PuTTY
[8]
[9]
[10]
[11] wikipedia:Newline