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
software:vscode:darwin [2024-03-28 10:39] – [Using VSCode Backend on DARWIN] anitasoftware:vscode:darwin [2024-04-26 17:35] (current) – [Connect VSCode to compute node] anita
Line 11: 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, referred to as ''~/vscode-remote-ssh/config'' below.+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 22: 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. 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 38: 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 45: 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 can have multiple configurations used for DARWIN with different host names. For example, in the following Config file, ''Host DARWIN'' starts the interactive job on ''idle'' partition and request one CPU for the remote shell to use. ''Host DARWINGPU'' request to use the GPU and ''Host DARWINMPI'' can be used for MPI. +It will open the Config file located in the path specified by ''~/vscode-remote-ssh/config''. You can have multiple configurations used for DARWIN with different Host definitions. For example, in the following Config file, ''Host DARWIN'' starts the interactive job on ''it_css'' partition and requests one CPU for the remote shell to use. ''Host DARWINGPU'' requests to use GPU and ''Host DARWINMPI'' can be used for MPI. 
  
 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) 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)
Line 119: Line 119:
 Do not run the script ''vscode-shell-proxy'' itself on the login node, as it will start a remote interactive session. Do not run the script ''vscode-shell-proxy'' itself on the login node, as it will start a remote interactive session.
 </note> </note>
 +
 +
 +==== Connect VSCode to compute node ====
 +Now, we can connect the VSCode to the compute node. Follow the similar steps when adding the Config file from the [[:software:vscode:darwin#setting-up-remote-connections|Setting up Remote Connections]] except step 3. Since we created the host named "DARWIN", choose it and enter the credentials for DARWIN login (or [[software:vscode:darwin#using-ssh-keys| use SSH keys]]). 
 +
 +{{:software:vscode:vscode-4.png?400|}}
 +{{:software:vscode:vscode-5.png?400|}}
 +{{:software:vscode:vscode-10.png?400|}}
 +
 +After successful login, you will now connect to the compute node. You can use the bash shell as the SSH terminal or develop code in VSCode.
 +
 +<code>
 +[(it_css:traine)@r1n00 ~]$ hostname
 +r1n00
 +</code>
 +
 +You also can open the file on your home directory in ''DARWIN'' and edit it. After completing the job, click ''Close Remote Connection'' to stop the job.
 +{{:software:vscode:vscode-9.png?400|}}
  
 ==== 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 DARWIN 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.  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-darwin ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519-remote-darwin
Line 130: Line 148:
 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-darwin.pub"+ssh-keygen -t ed25519 -f "$HOME\.ssh\id_ed25519-remote-darwin"
 $USER_AT_HOST="your-user-name@darwin.hpc.udel.edu" $USER_AT_HOST="your-user-name@darwin.hpc.udel.edu"
 $PUBKEYPATH="$HOME\.ssh\id_ed25519-remote-darwin.pub" $PUBKEYPATH="$HOME\.ssh\id_ed25519-remote-darwin.pub"
Line 151: Line 169:
  
 For more information, please refer to [[https://code.visualstudio.com/docs/remote/troubleshooting|SSH tips]]. For more information, please refer to [[https://code.visualstudio.com/docs/remote/troubleshooting|SSH tips]].
-==== Connect VSCode to compute node ==== 
-Now, we can connect the VSCode to the compute node. Follow the similar steps when adding the Config file from the [[:software:vscode:darwin#setting-up-remote-connections|Setting up Remote Connections]] except step 3. Since we created the host named "DARWIN", choose it and enter the credentials for DARWIN login (or [[software:vscode:darwin#using-ssh-keys| use SSH keys]]).  
- 
-{{:software:vscode:vscode-4.png?400|}} 
-{{:software:vscode:vscode-5.png?400|}} 
-{{:software:vscode:vscode-10.png?400|}} 
- 
-After successful login, you will now connect to the compute node. You can use the bash shell as the SSH terminal or develop code in VSCode. 
- 
-<code> 
-[(it_css:traine)@r1n00 ~]$ hostname 
-r1n00 
-</code> 
- 
-You also can open the file on your home directory in ''DARWIN'' and edit it. After completing the job, click ''Close Remote Connection'' to stop the job. 
-{{:software:vscode:vscode-9.png?400|}} 
  • software/vscode/darwin.1711636754.txt.gz
  • Last modified: 2024-03-28 10:39
  • by anita