Abort and print when dependencies not met.
[ganeti_webmgr.git] / docs / source / usage / sshkeys.rst
blob098ac1167cc1e2706ea0cd862f5c6950ffadf667
1 SSHKeys
2 =======
4 Ganeti Web Manager allows users to store SSH Keys. Each virtual machine
5 has a view that will return SSH keys for users with access.
7 Configuring User SSH Keys
8 -------------------------
10 As an User
11 ~~~~~~~~~~
13 #. click your **username** in the menu sidebar
14 #. use the Add, Edit, and Delete buttons to manage your keys
16 As an Admin
17 ~~~~~~~~~~~
19 #. click **Users** in the menu sidebar
20 #. click the edit button for the user you want to edit
21 #. use the Add, Edit, and Delete buttons to manage your keys
23 SSH Keys script
24 ---------------
26 Ganeti Web Manager provides a script that will automatically generate an
27 authorized\_keys files
31     $ python util/sshkeys.py [-c CLUSTER [-i INSTANCE]] API_KEY URL
33 -  **API\_KEY** is the value set in **settings.py**
34 -  **URL** is a URL pointing to the GWM server
35 -  **CLUSTER** is the identifier of a cluster
36 -  **INSTANCE** is the hostname of an instance
38 The GWM server URL has some flexibility in how it may be specified; HTTP
39 and HTTPS are supported, as well as custom port numbers. The following
40 are all valid URLs:
42 -  http://example.com/
43 -  https://example.com/
44 -  http://example.com:8080/
46 **CLUSTER** and **INSTANCE** are optional. Including them will narrow
47 the list of users to either a **Cluster** or a **VirtualMachine**.
49 SSH Keys Ganeti hook
50 --------------------
52 If you want your VMs to automatically copy the ssh keys from GWM, then
53 you can use the included ssh keys ganeti hook found in
54 **util/hooks/sshkeys.sh**. Copy that file onto every node in your
55 cluster in the hooks directory for the instance definition you're using
56 (i.e. ganeti-debootstrap). Copy and set the variables in
57 **util/hooks/sshkeys.conf** into the variant config and/or the
58 instance definition config file. Make sure that the hook is executable
59 and all the variables are set include changing the API Key.