Remote Editing
https://docs.rc.uab.edu/
Please use the new documentation url https://docs.rc.uab.edu/ for all Research Computing documentation needs.
As a result of this move, we have deprecated use of this wiki for documentation. We are providing read-only access to the content to facilitate migration of bookmarks and to serve as an historical record. All content updates should be made at the new documentation site. The original wiki will not receive further updates.
Thank you,
The Research Computing Team
Visual Studio Code
To use the the SSH extension to access files on Cheaha, please follow the instructions in the documentation for installation. Once it is installed, follow these instructions to set up the SSH config file. The following assumes SSH is installed locally, and that a config file exists in the usual location for your operating system. The commands assume you have an open Visual Studio Code window.
- Open the command palette, default hotkey "Ctrl + Shift + P".
- Locate "Remote-SSH: Connect to Host..." by typing part of the command at the prompt.
- Click the command in the palette prompt.
- Click "Configure SSH Hosts...".
- Choose the location of the existing config file.
- In the new editor window that opened, add the following lines then save the file.
Host cheaha HostName cheaha.rc.uab.edu User <username>
The text <username> should be replaced by the user name you use to access Cheaha. The "User" line is not necessary but can save some time.
IMPORTANT! The Remote-SSH extension of Visual Studio Code runs on the login node! All subprocesses spawned by Visual Studio Code will also run on the login node by default. This is due to a limitation with the deployment of the extension server code used to transfer data from Cheaha to your local machine. As always, avoid using computation-heavy processes on the login node. This includes working within repositories with many files, with large files, debugging programs, or using the Python extension for accessing or running code within Jupyter notebooks. Issue #1722 has been opened on the relevant GitHub repository. Please click the thumbs-up emoji on the first post there to increase visibility and priority of the issue.
SSH
First, ssh into VM like normal:
ssh blazerid@cheaha.rc.uab.edu
If you are trying to edit file on VM, not Cheaha, make sure you have tmux installed on system.
# Ubuntu sudo apt install tmux # CentOS sudo yum install tmux
Now, create a tmux session and detach right away.
tmux new # Ctrl+B then D ^B d
You can exit this ssh connection now.
exit
Now ssh with remote command and special option -t Force pseudo-terminal allocation.
ssh -t blazerid@cheaha.rc.uab.edu "tmux attach"
or you can setup in your ssh config(~/.ssh/config
):
Host cheaha HostName cheaha.rc.uab.edu User <username> RequestTTY force RemoteCommand tmux attach
With the setting you can ssh with:
ssh cheaha
Everytime you finish you editing on remote, either Cheaha or VM, use the detach command:
# Ctrl+B then D ^B d
With tmux Control Mode
Note: It only works with iTerm2 on MacOS
Use -CC
option with tmux
ssh -t blazerid@cheaha.rc.uab.edu "tmux -CC attach"
This will launch a new iTerm2 window contents your tmux session. You can create window and panel with iTerm2 shotcuts.