█ █ █▀█ █ █ █▀▄ ▀▀█ sysInfo FAQ HowTo ToS contact signUp █ █ █ █ ▄▀▄ █▀▄ ▄▀ ▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀▀ ▀▀▀ users: !
HowTo
===============================================================================
Generate, secure and use ssh keys +
# Generating ssh key pairs #
To connect to UNX.BZ you need to first provide us with an ssh Public Key. The
Public Key allows the ssh server to verify you are who you say you are via a
challenge / response that only your ssh client can answer correctly using the
corresponding Private Key (which you should keep to your self, as the name
implies)
Here is how you can generate your ssh key pair on various operating systems...
# FreeBSD / GNU/Linux / OSX / Other Unix-like systems #
Open your terminal emulator and enter the following command:
ssh-keygen -t ed25519 -a 200 -f id_ed25519_unx.bz -C "my_username@unx.bz"
Let's break down what each part of the command does:
-t sets the key type (ed25519 in this case, which is what we recommend)
-a sets the number of kdf rounds. We recommend at least 100 but if you have a
fast computer you can use 200 or more. A higher number of kdf rounds on a key
with a passphrase (which we strongly suggest you use) rounds will slow down a
brute force attack if your private key ever falls into the hands of a malicious
attacker. It will also slow down the amount of time ti takes to decrypt the
key. If you use an ssh agent to cache your decrypted keys in memory that short
delay wont be a big deal as you will only feel it once.
-f sets the name of the key files written to disk. It's conventional to include
the name of key type there but not a requirement. It's also conventional to put
some hint of what the key will be used for in the name, which helps keep things
organized when you have many keys.
-C sets the comment stored inside the keys. It's conventional to use your
username or your username@the_server_name for the server in question.
[ PRO TIP ] KEEP THAT KEY SECURE!
We highly recommend you use a strong passphrase on your ssh key when prompted
to enter one regardless of what system you are on. It may seem like a hassle
but it is the only thing protecting your Private Key if it ever falls into the wrong
hands. If you use an ssh agent (ssh-agent), which is background program that
securely holds your decrypted private keys in memory during a session, you will
only ever have to enter the passphrase once. There are password safes like the
multi-platform KeePassXC which can store, unlock (with the passphrase) and
register keys with your ssh agent, making using a passphrase and ssh agents an
almost entirely friction-less exercise. See the
KeePassXC documentation for details on how it works and how to set it up.
(You DO use a password safe of some kind, don't you?)
Copy and paste the Public Key in the signUp form and it will be setup for use
when you account is created.
# Windows #
If you are on Windows 10 or 11, you can use the built-in OpenSSH client tools
via Command Prompt (CMD) or PowerShell. Press the Windows key, type "cmd" or
"powershell", and select the application from the search results to launch it.
At the prompt, type the ssh-keygen command just as you would on a Unix-like
system:
ssh-keygen -t ed25519 -a 200 -f id_ed25519_unx.bz -C "my_username@unx.bz"
The Public Key file will have a .pub appended to the end of the file name. You
can use the type command to print the contents of the public key file to the
console so you may copy the contents to paste into the signUp form. You can
alteratively open the Public Key in Notepad to cpoy/paste the contents.
Alternatively, or if you are on a pre Windows 10 system, you can use
PuTTY .
See the documentation on the PuTTY web site for how to use the included
PuTTYGen program to generate key pairs. PuTTY is a great ssh client for Windows
you might want regardless of if you are able to generate keys from the command
line. It includes a bookmark feature where you can store the sites you connect
to. Very convenient! It's available for other operating systems if you like
those sorts of GUI feature.
# Using a Private Key to connect to UNX.BZ #
The private key file needs strict permissions (read/write only for the owner,
typically 600) to be used. If the key isn't already set to that, you can set it
via the chmod command...
chmod 600 /path/to/your/private_key_file
You can now use the Private Key connect to the UNX.BZ
ssh -i /path/to/your/private_key_file username@unx.bz
Change your shell in FreeBSD +
Changing the default shell in FreeBSD is easy. The first step is to make sure the shell you want to use is actually installed. Type this in the shell to see what shells are available on the system:
cat /etc/shells
If you see a shell you are interested in, you can switch to it immediately by simply running it in your current shell:
bash
If you love it and want to make the change permanent you can use the chsh command to change your shell in /etc/passwd (you must use the full path to the shell as shown in the /etc/shells file)
chsh -s /bin/bash
.plan and .project are optional simple text files in the root of your home
directory. You can edit them with any text editor. They can be used to share
information with other users on the system when they use the finger command.
Use the .plan and .project files +
Each has a similar but slightly different purpose.
.plan is used to share longer free-form personal information and status. If you
only intend to create one of these files, .plan is the one you want to create.
You can put any info you want to share about yourself or your interests in
.plan . Don't go too crazy with it though (like create an entire page worth of
text). That's what web pages are for! Remember it will be viewable by anyone
logged in to the server so don't share information you with to remain private.
.project is a (preferably) concise summary of what you are working on at the
moment. But it doesn't have to be.
Keeping it concise is just a matter of convention.
As they are both just text files, you can update them programmatically if such
an idea appeals to you. For example, you might put the results of the short
output of some cron job or script in .project so that yourself or others can
easily grab it using the finger command. This would definitely be an
unconventional use for the .project file but it would also be perfectly valid
use for it if that's what you want to use it for. It's your .project file!
===============================================================================