diff --git a/README.md b/README.md index 1b625a3..f7a9970 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ brew install hcloud ### 💡 [Do not skip] Creating the terraform.tfvars file 1. Create a project in your [Hetzner Cloud Console](https://console.hetzner.cloud/), and go to **Security > API Tokens** of that project to grab the API key. Take note of the key! ✅ -2. Either, generate a passphrase-less ed25519 SSH key-pair for your cluster, unless you already have one that you'd like to use. Take note of the respective paths of your private and public keys. Or, for a key-pair with passphrase or a device like a Yubikey, make sure you have have an SSH agent running and your key is loaded (`ssh-add -L` to verify) and set `private_key = null` in the following step. ✅ +2. Generate a passphrase-less ed25519 SSH key-pair for your cluster, take note of the respective paths of your private and public keys. Or, see our detailed [SSH options](https://github.com/kube-hetzner/kube-hetzner/blob/master/docs/ssh.md). ✅ 3. Copy `terraform.tfvars.example` to `terraform.tfvars`, and replace the values from steps 1 and 2. ✅ 4. Make sure you have the latest Terraform version, ideally at least 1.1.0. You can check with `terraform -v`. ✅ 5. (Optional) There are other variables in `terraform.tfvars` that could be customized, like Hetzner region, and the node counts and sizes. diff --git a/docs/ssh.md b/docs/ssh.md new file mode 100644 index 0000000..7228b77 --- /dev/null +++ b/docs/ssh.md @@ -0,0 +1,24 @@ +Kube-Hetzner requires you to have a recent version of OpenSSH (>=6.5) installed on your client, and the use of a key-pair generated with either of the following algorithms: + +- ssh-ed25519 (preferred, and most simple to use without passphrase) +- rsa-sha2-512 +- rsa-sha2-256 + +If your key-pair is of the `ssh-ed25519` sort, and without of passphrase, you do not need to do anything else. Just set `public_key` and `private_key` to their respective path values in your terraform.tfvars. + +--- + +Otherwise, for a key-pair with passphrase or a device like a Yubikey, make sure you have have an SSH agent running and your key is loaded with: + +```bash +eval ssh-agent $SHELL +ssh-add ~/.ssh/my_private-key_id +``` + +Verify it is loaded with: + +```bash +ssh-add -l +``` + +Then set `private_key = null` in your terraform.tfvars, as it will be read from the ssh-agent automatically. \ No newline at end of file