Connect to a Server - ARC-Lab-UF/docs GitHub Wiki
Author: Benjamin Wheeler (@benjamin051000)
UFAD servers use your UF GatorLink username and password for authentication. This guide will show you how to connect via SSH to a remote UF-network linux server using GatorLink Authentication, and SSH keys.
Note: For any given command, <username> should be replaced with the GatorLink username. <server> should be replaced with a server hostname. For example, if you are referencing the command
ssh <username>@<server>
, your GatorLink username isalbert
, and the server you wished to use ismy-server.com
, you would use the following command:
ssh [email protected]
Your local computer must either be on the UF Wireless network (eduroam
) or connected to the UF VPN service.
Click on the operating system to see details on connecting to a remote server.
Connecting From Windows
While recent versions of Microsoft Windows 10 come with OpenSSH installed, they do not include an X server, which is necessary for running GUI applications over SSH. There are several third-party applications discussed below that allow this: X2GoIf X2Go is available on your server, it is a good option for X11 forwarding.
Now, click on the configuration you just made. You may be prompted to enter your GatorLink password. A terminal should open and you should be able to run GUI applications on the server. CygwinCygwin is a terminal emulator that offers an X-server for X11 forwarding.
Note: You can launch the setup program in the future to install new packages and update/remove existing packages.
Note: This will start the X11 server automatically next time you log in. Until that time, it will not be running. You can either launch the server automatically or just restart your computer.
Launch the Cygwin Terminal application and run
Enter your password when the prompt appears. You are now connected and ready to work! PuTTY (requires Cygwin for X11)PuTTY is an SSH and telnet client, capable of using a Cygwin X server to connect to a remote host with X11 GUI application forwarding.
Note: You can save your session by entering a name in the "Saved Sessions" box and clicking the "Save" button to the right. MobaXterm (used for Intel FPGA Devcloud)MobaXterm is an enhanced terminal for Windows with an X11 server, tabbed SSH client, and more. Intel FPGA Devcloud recommends using MobaXterm for their services. An official set of instructions on setting that up can be found here:
|
Connecting with Linux/Unix/MacOS
Open a terminal and run
Enter your password when the prompt appears. You are now connected and ready to work! |
A common important task is to transfer files between your host machine and the server. There are several GUI and CLI tools to accomplish this.
If you would like to use a Graphical User Interface, we recommend:
- FileZilla for Windows or MacOS X
-
WinSCP for Windows.
- If you wish to open files with WinSCP, you can choose to open files in something other than the default editor by clicking the option tab, preferences, editors, Add. Then either specify an external editor to use (for example notepad++) or use the associated application with your windows machine (like open csv using excel). Feel free to specify a file type and press ok. Make sure to double check the editor preference order.
- Cyberduck for MacOS X
After you have chosen and downloaded a client, configure the client to connect to <server>.hcs.ufl.edu
, specifying port number 22
. Use your username and password (or possibly an SSH key) to log in.
- SFTP
- SCP
Several methods exist for editing your files on the cluster.
The visual editor improved (vim) is the traditional Unix editor; however, it is not necessarily the most intuitive editor.
- Vim interactive tutorial: https://www.openvim.com/
- Vim cheatsheet: https://vim.rtorr.com/
Emacs is a much heavier duty editor, but again has the problem of having commands that are non-intuitive.
- Emacs homepage: https://www.gnu.org/software/emacs/
Nano is a lightweight text exitor with a simpler user interface than Vim or Emacs.
- Nano homepage: https://www.nano-editor.org/
VSCode is code editor with development features typically found in an IDE. Code provides comprehensive editing and debugging support, an extensibility model, and lightweight integration with existing tools.
- VSCode tutorial: https://code.visualstudio.com/docs/introvideos/basics
You can also use your favorite file editor on your local machine, and then transfer the files to the cluster afterward. A caveat to this is that files created on Windows machines usually contain unprintable characters, which may be misinterpreted by Linux command interpreters (shells). If this happens, there is a utility called dos2unix
that you can use to convert the text file from DOS/Windows formatting to Linux formatting.
See this page for a tutorial on how to connect your local VSCode instance to a remote server.
Access to installed software is provided through Environment Modules.
The following command can be used to browse the full list of available modules:
module avail
To load a module, use the following command:
module load <module_name>
Now, the loaded module will effecively be added to your PATH so you can run the commands you loaded.