software:vscode:caviness

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
software:vscode:caviness [2024-03-27 17:56] anitasoftware:vscode:caviness [2024-04-25 19:14] – [Using SSH keys] anita
Line 1: Line 1:
 ====== Using VSCode Backend on Caviness====== ====== Using VSCode Backend on Caviness======
-<note warning> 
  
-**This page is under construction.** 
-</note> 
 ==== Download and install ==== ==== Download and install ====
   - Install the [[http://code.visualstudio.com/download|Stable Build VSCode]] on the local machine. **DO NOT** install the VSCode Insiders Build, as it will not work with the proxy.   - Install the [[http://code.visualstudio.com/download|Stable Build VSCode]] on the local machine. **DO NOT** install the VSCode Insiders Build, as it will not work with the proxy.
Line 14: Line 11:
 {{:software:vscode:vscode-1.png?600|}} {{:software:vscode:vscode-1.png?600|}}
  
-The ''remote.SSH'' settings are written as a JSON dictionary and can be edited by clicking on the icon for ''Open Settings (JSON)'' located in the upper right corner below the title bar of the window (marked with large red arrow). You will need to create a separate SSH Config file for the 'Remote - SSH' extension without modifying the regular SSH Config file. Throughout this guidewe use the name ''traine'' and the path ''~/vscode-remote-ssh/config'' for illustrative purposes only+The ''remote.SSH'' settings are written as a JSON dictionary and can be edited by clicking on the icon for ''Open Settings (JSON)'' located in the upper right corner below the title bar of the window (marked with large red arrow).This will open a the ''{} settings.json'' file and display each ''remote.SSH'' settings.  **Note:** You will need to create a separate SSH Config file for the 'Remote - SSH' extension without modifying the regular SSH Config file, referred to as ''~/vscode-remote-ssh/config'' below.
  
-<note important> +To ensure the settings are correct, remove all existing lines in ''{} settings.json'' and replace them with these lines between the ''{'' ''}''
-To ensure the settings are correct, remove any existing lines in the ''json.settings'' and replace them with these+
 <code> <code>
     "remote.SSH.configFile": "~/vscode-remote-ssh/config",     "remote.SSH.configFile": "~/vscode-remote-ssh/config",
Line 25: Line 21:
     "remote.SSH.localServerDownload": "off",     "remote.SSH.localServerDownload": "off",
     "remote.SSH.lockfilesInTmp": true,     "remote.SSH.lockfilesInTmp": true,
 +    "remote.SSH.useLocalServer": true,
 +    "remote.SSH.useExecServer": false,
     "remote.SSH.enableRemoteCommand": true     "remote.SSH.enableRemoteCommand": true
 </code> </code>
-</note> 
    
-Again keep in mind ''~/vscode-remote-ssh/config'' is used for illustrative purposes or you can change this to specify the path and filename of choice. The ''Connect Timeout'' is set to 300 seconds in order to allow Slurm enough time to schedule and launch the interactive job.+Clicking on the ''X'' next to ''{} settings.json'' will prompt you to save the settings file. Again keep in mind ''~/vscode-remote-ssh/config'' is used for illustrative purposes. You can change this to specify the path and filename of choice. The ''Connect Timeout'' is set to 300 seconds in order to allow Slurm enough time to schedule and launch the interactive job.
  
 <note important> <note important>
-The path of ''settings.json'' can be found at:+The path of ''{} settings.json'' can be found at:
                      
  
Line 41: Line 38:
 </note> </note>
  
-Now, close the ''Settings'' tab. On the lower left corner, click the button ''Open a Remote Window''(or ''F1''), select ''Connect Current Window to Host'' and then ''Configure SSH Hosts''+Now, click on the ''X'' to close the ''Settings'' tab for the ''Remote - SSH Extensions Settings''. On the lower left corner, click the button ''Open a Remote Window''(or ''F1''), select ''Connect Current Window to Host'' and then ''Configure SSH Hosts''
  
 {{:software:vscode:vscode-4.png?400|}} {{:software:vscode:vscode-4.png?400|}}
Line 48: Line 45:
 {{:software:vscode:vscode-7.png?400|}} {{:software:vscode:vscode-7.png?400|}}
  
-It will open the Config file located in the path specified by ''~/vscode-remote-ssh/config''. You may have multiple configurations used on Caviness with different Host names. For example, in this Config file, ''Host Caviness'' starts the interactive job on the ''devel'' partition and requests 4 CPUs for the remote shell to use. '' Host CavinessGPU'' requests the GPU for the interactive job.+It will open the Config file located in the path specified by ''~/vscode-remote-ssh/config''. You may have multiple configurations used for Caviness with different Host definitions. For example, in this Config file, ''Host Caviness'' starts the interactive job on the ''devel'' partition and requests 4 CPUs for the remote shell to use. '' Host CavinessGPU'' requests a P100 GPU for the interactive job on the ''devel'' partition.
  
-For this example,  the Config file ''~/vscode-remote-ssh/config'' contains the following definitions+For this example,  the Config file ''~/vscode-remote-ssh/config'' contains the following definitions  (remember User ''traine'' should be replace with your username as well as possible partition and other options)
 <code> <code>
 # Read more about SSH config files: https://linux.die.net/man/5/ssh_config # Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Line 128: Line 125:
  
 ==== Using SSH keys ==== ==== Using SSH keys ====
-SSH public key authentication is a secure way to authenticate with an SSH host by combining a local "private" key with a "public" key associated with your user account. Once you set up the SSH keys, you will not need to enter the password for every login. Please only generate the SSH keys on the trusted computer. For macOS / Linux, you can run the following command in a local terminal:+SSH public key authentication is a secure way to authenticate with an SSH host by combining a local "private" key with a "public" key associated with your user account. Once you set up the SSH keys, you will not need to enter the password for every login. If you have previously set up your SSH keys (i.e. you can login with SSH to Caviness without having to enter your password), then you do not need to do this step unless you want to create SSH keys specifically for VSCode, otherwise proceed to [[software:vscode:caviness#connect-vscode-to-compute-node|Connect VSCode to Compute Node]]. Please only generate the SSH keys on the trusted computer. For macOS / Linux, you can run the following command in a local terminal:
 <code> <code>
 ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519-remote-ssh ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519-remote-ssh
Line 137: Line 134:
 For Windows, run the following command in a local PowerShell as administrator: For Windows, run the following command in a local PowerShell as administrator:
 <code> <code>
-ssh-keygen -t ed25519 -f "$HOME\.ssh\id_ed25519-remote-ssh.pub"+ssh-keygen -t ed25519 -f "$HOME\.ssh\id_ed25519-remote-ssh"
 $USER_AT_HOST="your-user-name@caviness.hpc.udel.edu" $USER_AT_HOST="your-user-name@caviness.hpc.udel.edu"
 $PUBKEYPATH="$HOME\.ssh\id_ed25519-remote-ssh.pub" $PUBKEYPATH="$HOME\.ssh\id_ed25519-remote-ssh.pub"
  • software/vscode/caviness.txt
  • Last modified: 2024-04-26 17:34
  • by anita