Merge tag '0.10.2'
[ganeti_webmgr.git] / docs / source / features / sshkeys.rst
blob575d2e8c3d45585261f806bd0053f84e0bb9f6a4
1 .. _sshkeys:
3 SSH Keys
4 ========
6 .. todo::
7    This really needs to be tested and updated. I (Trevor) have never
8    personally worked with ssh keys, or tested getting them to the
9    server. Our internal script might also be different.
11 Ganeti Web Manager allows users to store SSH Keys. Each virtual machine
12 has a view that will return SSH keys for users with access.
14 Configuring User SSH Keys
15 -------------------------
17 As an User
18 ~~~~~~~~~~
20 #. click your **username** in the menu sidebar
21 #. use the Add, Edit, and Delete buttons to manage your keys
23 As an Admin
24 ~~~~~~~~~~~
26 #. click **Users** in the menu sidebar
27 #. click the edit button for the user you want to edit
28 #. use the Add, Edit, and Delete buttons to manage your keys
30 SSH Keys script
31 ---------------
33 Ganeti Web Manager provides a script that will automatically generate an
34 authorized\_keys files
38     $ python util/sshkeys.py [-c CLUSTER [-i INSTANCE]] API_KEY URL
40 -  **API\_KEY** is the value set in **settings.py**
41 -  **URL** is a URL pointing to the GWM server
42 -  **CLUSTER** is the identifier of a cluster
43 -  **INSTANCE** is the hostname of an instance
45 The GWM server URL has some flexibility in how it may be specified; HTTP
46 and HTTPS are supported, as well as custom port numbers. The following
47 are all valid URLs:
49 -  http://example.com/
50 -  https://example.com/
51 -  http://example.com:8080/
53 **CLUSTER** and **INSTANCE** are optional. Including them will narrow
54 the list of users to either a **Cluster** or a **VirtualMachine**.
56 SSH Keys Ganeti hook
57 --------------------
59 If you want your VMs to automatically copy the ssh keys from GWM, then
60 you can use the included ssh keys ganeti hook found in
61 **util/hooks/sshkeys.sh**. Copy that file onto every node in your
62 cluster in the hooks directory for the instance definition you're using
63 (i.e. ganeti-debootstrap). Copy and set the variables in
64 **util/hooks/sshkeys.conf** into the variant config and/or the
65 instance definition config file. Make sure that the hook is executable
66 and all the variables are set include changing the API Key.