VM Tool SSH
SSHSetup
A class to set up SSH configuration and keys for a VM.
Attributes:
| Name | Type | Description |
|---|---|---|
hostname |
str
|
The hostname of the VM. |
username |
str
|
The username for SSH login. |
password |
str
|
The password for SSH login. |
email |
str
|
The email for SSH key generation. |
private_key_path |
str
|
The path to the private SSH key. |
client |
SSHClient
|
The SSH client. |
Source code in vm_tool/ssh.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | |
__close_connection()
Closes the SSH connection.
Source code in vm_tool/ssh.py
132 133 134 135 136 137 138 | |
__configure_vm(vm_ip, vm_password, public_key)
Configures the VM by adding the public SSH key to the authorized keys.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vm_ip
|
str
|
The IP address of the VM. |
required |
vm_password
|
str
|
The password for the VM. |
required |
public_key
|
str
|
The public SSH key. |
required |
Source code in vm_tool/ssh.py
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | |
__establish_connection()
Establishes an SSH connection to the VM.
Source code in vm_tool/ssh.py
123 124 125 126 127 128 129 130 | |
__generate_ssh_key(email)
Generates an SSH key pair.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
email
|
str
|
The email for SSH key generation. |
required |
Source code in vm_tool/ssh.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | |
__init__(hostname, username, password, email)
The constructor for SSHSetup class.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hostname
|
str
|
The hostname of the VM. |
required |
username
|
str
|
The username for SSH login. |
required |
password
|
str
|
The password for SSH login. |
required |
email
|
str
|
The email for SSH key generation. |
required |
Source code in vm_tool/ssh.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
__read_or_generate_public_key(email)
Reads the public SSH key or generates a new one if it doesn't exist.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
email
|
str
|
The email for SSH key generation. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
The public SSH key. |
Source code in vm_tool/ssh.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | |
__update_ssh_config()
Updates the local SSH config file with the VM details.
Source code in vm_tool/ssh.py
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | |
setup()
Sets up the SSH configuration and keys for the VM.
Source code in vm_tool/ssh.py
140 141 142 143 144 145 146 147 148 149 150 | |