# Installation & Setup

- [MacOS Yubikey Smartcard/PIV instructions.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/quickstart.md)
- [1. Installation of MacOS software](https://docs.k9.io/key9-identity/ssh/installation-and-setup/quickstart/1.-installation-of-macos-software.md)
- [2. Changing the Yubikey PIN.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/quickstart/2.-changing-the-yubikey-pin..md)
- [3. Generating Keys and Certificates for the Yubikey](https://docs.k9.io/key9-identity/ssh/installation-and-setup/quickstart/3.-generating-keys-and-certificates-for-the-yubikey.md)
- [4. Enrolling the public key to Key9](https://docs.k9.io/key9-identity/ssh/installation-and-setup/quickstart/4.-enrolling-the-public-key-to-key9.md): \*\* NOTE: If your Yubikey is already enrolled with Key9, you can skip these steps!
- [5. Testing and configuring SSH](https://docs.k9.io/key9-identity/ssh/installation-and-setup/quickstart/5.-testing-and-configuring-ssh.md)
- [Windows Yubikey Smartcard/PIV instructions](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-yubikey-smartcard-piv-instructions.md)
- [1. Installation of Windows software.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-yubikey-smartcard-piv-instructions/1.-installation-of-windows-software..md)
- [2. Getting the system ready for libykcs11.dll](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-yubikey-smartcard-piv-instructions/2.-getting-the-system-ready-for-libykcs11.dll.md)
- [3. Adding libykcs11.dll to SSH configurations.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-yubikey-smartcard-piv-instructions/3.-adding-libykcs11.dll-to-ssh-configurations..md)
- [4. Generating Keys and Certificates for the Yubikey](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-yubikey-smartcard-piv-instructions/4.-generating-keys-and-certificates-for-the-yubikey.md)
- [5. Enrolling the public key to Key9](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-yubikey-smartcard-piv-instructions/5.-enrolling-the-public-key-to-key9.md): \*\* NOTE:  If your Yubikey is already enrolled with Key9,  you can skip these steps!
- [6.  Testing your SSH key.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-yubikey-smartcard-piv-instructions/6.-testing-your-ssh-key..md)
- [OpenSSH with Yubikey / FIDO2 protected keys](https://docs.k9.io/key9-identity/ssh/installation-and-setup/openssh-with-yubikey-fido2-protected-keys.md)
- [1. Prerequisites](https://docs.k9.io/key9-identity/ssh/installation-and-setup/openssh-with-yubikey-fido2-protected-keys/1.-prerequisites.md)
- [2. OpenSSH command for Yubkey FIDO2](https://docs.k9.io/key9-identity/ssh/installation-and-setup/openssh-with-yubikey-fido2-protected-keys/2.-openssh-command-for-yubkey-fido2.md): Unfortunately,  Windows 11 does not currently support FIDO2 enrollment.
- [3. Enrolling your public key to Key9](https://docs.k9.io/key9-identity/ssh/installation-and-setup/openssh-with-yubikey-fido2-protected-keys/3.-enrolling-your-public-key-to-key9.md)
- [4. Testing your SSH key](https://docs.k9.io/key9-identity/ssh/installation-and-setup/openssh-with-yubikey-fido2-protected-keys/4.-testing-your-ssh-key.md)
- [Setting a Yubikey PIN without Yubikey software.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/setting-a-yubikey-pin-without-yubikey-software..md)
- [1.  Using Key9 "registration" to register a new Yubikey PIN.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/setting-a-yubikey-pin-without-yubikey-software./1.-using-key9-registration-to-register-a-new-yubikey-pin..md)
- [2. Using "webauthn.io" to register a new Yubikey PIN.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/setting-a-yubikey-pin-without-yubikey-software./2.-using-webauthn.io-to-register-a-new-yubikey-pin..md)
- [RSA Password Protected SSH Key](https://docs.k9.io/key9-identity/ssh/installation-and-setup/rsa-password-protected-ssh-key.md)
- [1. Key9 Settings to allow RSA](https://docs.k9.io/key9-identity/ssh/installation-and-setup/rsa-password-protected-ssh-key/1.-key9-settings-to-allow-rsa.md)
- [2. Generating RSA SSH Key](https://docs.k9.io/key9-identity/ssh/installation-and-setup/rsa-password-protected-ssh-key/2.-generating-rsa-ssh-key.md)
- [3. Enrolling your public key to Key9](https://docs.k9.io/key9-identity/ssh/installation-and-setup/rsa-password-protected-ssh-key/3.-enrolling-your-public-key-to-key9.md)
- [4. Testing your SSH key](https://docs.k9.io/key9-identity/ssh/installation-and-setup/rsa-password-protected-ssh-key/4.-testing-your-ssh-key.md)
- [Determine your Yubikey Type](https://docs.k9.io/key9-identity/ssh/installation-and-setup/determine-your-yubikey-type.md): Without loading the Yubikey Manager.
- [1. Linux "lsusb" command](https://docs.k9.io/key9-identity/ssh/installation-and-setup/determine-your-yubikey-type/1.-linux-lsusb-command.md)
- [2. MacOS "ioreg" command](https://docs.k9.io/key9-identity/ssh/installation-and-setup/determine-your-yubikey-type/2.-macos-ioreg-command.md)
- [3.  Windows 11](https://docs.k9.io/key9-identity/ssh/installation-and-setup/determine-your-yubikey-type/3.-windows-11.md)
- [Useful External Links](https://docs.k9.io/key9-identity/ssh/installation-and-setup/useful-external-links.md)
- [Windows Powershell with Yubikey/FIDO2-protected SSH keys](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-powershell-with-yubikey-fido2-protected-ssh-keys.md)
- [1. Download OpenSSH for Windows.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-powershell-with-yubikey-fido2-protected-ssh-keys/1.-download-openssh-for-windows..md)
- [2. Setting up your SSH keys](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-powershell-with-yubikey-fido2-protected-ssh-keys/2.-setting-up-your-ssh-keys.md)
- [3. Enrolling your public key to Key9](https://docs.k9.io/key9-identity/ssh/installation-and-setup/windows-powershell-with-yubikey-fido2-protected-ssh-keys/3.-enrolling-your-public-key-to-key9.md)
- [Technical Notes](https://docs.k9.io/key9-identity/ssh/installation-and-setup/technical-notes.md): "Here are the notes detailing issues and their respective fixes for Passkeys and SSH Keys."
- [Pop!\_OS - "agent refused operation"](https://docs.k9.io/key9-identity/ssh/installation-and-setup/technical-notes/pop-_os-agent-refused-operation.md): This fix may apply to other Linux distributions.
- [Key9 SSH for Debian 12 \[Bookworm\] Howto](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto.md)
- [1. Installing GPG](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto/1.-installing-gpg.md)
- [2. Configuring the Key9 Debian 12 Repo.](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto/2.-configuring-the-key9-debian-12-repo..md)
- [3.  Configuring the Key9 SSH client](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto/3.-configuring-the-key9-ssh-client.md): This page describes editing the /opt/k9/etc/k9.yaml
- [4.  Configuring Name Service Switch \[/etc/nsswitch.conf\]](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto/4.-configuring-name-service-switch-etc-nsswitch.conf.md)
- [5. Configuring the OpenSSH server](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto/5.-configuring-the-openssh-server.md)
- [6. Modifying "sudoers" \[optional\]](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto/6.-modifying-sudoers-optional.md)
- [7. Configuring "k9-tail" for logs \[optional\]](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto/7.-configuring-k9-tail-for-logs-optional.md)
- [8. Automatic home directory creation \[optional\]](https://docs.k9.io/key9-identity/ssh/installation-and-setup/key9-ssh-for-debian-12-bookworm-howto/8.-automatic-home-directory-creation-optional.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.k9.io/key9-identity/ssh/installation-and-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
