Initialize an SSH connection to Cloudera AI for VS code
The following task describes how to establish an SSH endpoint for Cloudera AI. Creating an SSH endpoint is the first step to configuring a remote editor for Cloudera AI.
-
Log in to Cloudera AI with the CLI client.
For example, the following command logs the usercdswctl login -n <username> -u http(s)://cdsw.your_domain.com
sample_user
into thehttps://cdsw.your_domain.com
deployment:cdswctl login -n sample_user -u https://cdsw.your_domain.com
-
Create a local SSH endpoint to Cloudera AI.
Run the following command:
cdswctl ssh-endpoint -p <username>/<project_name> [-c <CPU_cores>] [-m <memory_in_GB>] [-g <number_of_GPUs>] [-r <runtime ID> ]
If the project is configured to use ML runtimes, the
-r
parameter must be specified, otherwise it must be omitted. To retrieve the Runtime ID, use the following command:cdswctl runtimes list
See Using ML runtimes with cdswctl documentation page for more information.
The command uses the following defaults for optional parameters:- CPU cores: 1
- Memory: 1 GB
- GPUs: 0
For example, the following command starts a session for the logged-in usersample_user
under thecustomerchurn
project with .5 cores, .75 GB of memory, 0 GPUs, and the Python3 kernel:cdswctl ssh-endpoint -p customerchurn -c 0.5 -m 0.75
To create an SSH endpoint in a project owned by another user or a team, for example
finance
, prepend the username to the project and separate them with a forward slash:
This command creates session in the projectcdswctl ssh-endpoint -p finance/customerchurn -c 0.5 -m 0.75
customerchurn
that belongs to the teamfinance
.Information for the SSH endpoint appears in the output:... You can SSH to it using ssh -p <some_port> cdsw@localhost ...
-
Open a new command prompt and run the outputted command from the previous step:
For example:ssh -p <some_port> cdsw@localhost
You will be prompted for the passphrase for the SSH key you entered in the Cloudera AI web UI.ssh -p 7847 cdsw@localhost
The public key could be rejected when the newssh
key pair is generated with a special name such asid_rsa_systest
. If the public key is rejected, you must add the following information to the ~/.ssh/config file:Host * AddKeysToAgent yes StrictHostKeyChecking no IdentityFile ~/.ssh/id_rsa_cdswctl
Once you are connected to the endpoint, you are logged in as thecdsw
user and can perform actions as though you are accessing the terminal through the Cloudera AI web UI. -
Test the connection.
If you run
ls
, the project files associated with the session you created are shown. If you runwhoami
, the command returns thecdsw
user.Once you are connected, you should see something like this:$ cdswctl ssh-endpoint -p ml-at-scale -m 4 -c 2 Forwarding local port 7847 to port 2222 on session bhsb7k4eqmonap62 in project finance/customerchurn. You can SSH to the session using ssh -p 7847 cdsw@localhost
-
Add an entry into your SSH config file.
For example:
$ cat ~/.ssh/config Host cdsw-public HostName localhost IdentityFile ~/.ssh/id_rsa User cdsw Port 7847
HostName is alwayslocalhost
and User is alwayscdsw
. You get the Port number from Step 2.