SSH is a network protocol for connecting remotely to a server. SSH uses traffic encryption algorithms, so a SSH connection is secure.
The connection is made under a remote server account. A password or SSH keys are used for authentication.
The software for SSH consists of two parts:
- server — installed on a remote server;
- client — installed on the user's computer.
Work logic
When you create a Unix family virtual machine (VM), the platform installs and configures an OpenSSH server on the VM. The server starts on port 22/TCP and waits for client connections.
If the VM owner has specified their keys in the client area, these keys will be recorded in the /root/.ssh/authorized_keys file on the VM. This will allow the VM owner to connect using an SSH key without additional configuration.
Connecting to a VM via SSH
Installing client software
For the Unix OS family (Ubuntu, Debian, AlmaLinux, macOS, etc.), no additional software is required.
For Windows 10 or higher, install the OpenSSH client component.Connecting with a login and password
- Open the terminal window or the console.
-
Enter the command:
ssh root@host
Comments to the command - Enter the root password of the VM.
Connecting using SSH keys
SSH key consists of a pair of keys — the private key and the public key. The private key is the secret information that is kept by the user. The public key must be stored on the server to be accessed via SSH.
- Generate the key:
- Open the terminal window or the console.
-
Enter the command:
ssh-keygen
- Specify the name and path to the file for SSH keys. By default, in Windows, the SSH key is stored in the C:\Users\<username>\.ssh\ directory, and in Unix family OS — in /home/<username>/.ssh/. By default, the private key is saved to the id_rsa file, and the public key — to id_rsa.pub.
- Copy the key to the VM:
- to add the key in new VMs automatically, specify it in the client area;
-
to provide the key to an existing VM, copy its contents to the /root/.ssh/authorized_keys file on the VM. On Unix systems you can use the command to do this:
ssh-copy-id -i <path_to_key> root@host
Comments to the command
-
Connect to the VM:
- Open the terminal window or the console.
-
Enter the command:
ssh root@host
Пояснения к команде
Copying files
You can copy files from a workstation to a VM and back using the scp utility. To do this:
- Open the terminal window or the console.
-
Enter the command:
Copy a file from workstation to VMscp <path_to_local_file> <user>@<host>:<path_to_remote_file>
Copy a file from VM to workstationscp <user>@<host>:<path_to_remote_file> <path_to_local_file>
Comments to the commandsExample command:
scp my_local_file.txt root@192.0.2.1:/root/my_dir/my_remote_file.txt