From 20e78c828e3995371a5ed29f3f53514370b7c152 Mon Sep 17 00:00:00 2001 From: Carson Fleming Date: Fri, 24 Jan 2025 20:57:54 -0500 Subject: host docs here now --- live/server.html | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 live/server.html (limited to 'live/server.html') diff --git a/live/server.html b/live/server.html new file mode 100644 index 0000000..c7dce69 --- /dev/null +++ b/live/server.html @@ -0,0 +1,131 @@ + + + + + + + + + + Server Configuration | Docs | Penguin's Kiss + + + + +
+ +
+

Once your PK scripts are built very little is required to run the server as a local + user, you can literally just do:

+
python3 pkctl.py start
+python3 pkctl.py attach
+

and have yourself a simple instance up and running ready to run commands. Therefore + the rest of this section will be dedicated to getting PK running in the background + as a systemd service under its own user, and letting multiple system users attach + to the daemon at once if desired.

+
+

Installing

+

Once again the makefile mostly has you covered here, all you need to do is:

+
sudo make install
+

and the makefile will set up a dedicated service user and group called + pkd which controls access to the daemon and its resources, as well + as setting up the pk server as a systemd service called pk. This + will also start the pk server and enable it on startup.

+
+
+

PKCTL Usage

+

Once installed, you can use the following commands to interface with the pk + daemon controller:

+

systemctl start|stop|restart pk — this controls the + daemon's life cycle.

+

pkctl attach — this starts an interactive session with the + daemon, allowing you to control and interface with clients.

+
+
+

Host Key Generation

+

Once you've installed the pk server you're going to want to change its + host key away from the default one which is used for testing purposes and is + widely available (read: not secure at all).

+

This is probably the only complicated part of the whole guide, mostly because + I haven't yet built a cute little utility to do it for you yet (I should + at some point). You're going to need to do the following (in your pk + directory):

+
python3
+>>> import crypto
+>>> p,q,n,e,d = crypto.Crypto.keygen(4096)
+>>> n
+

Copy the number that python spits out here.

+
+>>> d
+

Also copy this number. Keep these two handy as we'll need them later. + Now open /etc/pk/server_key.json in your favorite editor and make + it read as follows (you can wipe out the current contents):

+
{"n": <the number n we got from python>, "d": <the number d we got from python>, "e": 65537}
+

At this point we're almost done, we just have to restart pk to reflect the + changes, so run:

+
sudo systemctl restart pk
+

and you should be good to go.

+
+
+

Local Users

+

To allow non-root users on your system to use pkctl attach, you + will need to add them to the pkd user group. This is remarkably + simple to do on any unix system, just run:

+
adduser [username] pkd
+
+
+
+ + -- cgit v1.2.3