OpenSuse Tumbleweed comes mostly ready for use with YubiKey (Assuming you have already configured your Yubikey before).
All you need to do is a few simple configuration:

1- Create .gnupg directory under your home directory and cd into it
mkdir ~/.gnupgp && cd $_

2- Create gpg-agent.conf to store the required gpg-agent settings
vim gpg-agent.conf

3- Tell gpg-agent which tty, SSH_AUTH_SOCK, and program to use to ask for PIN by adding following configuration into gpg-agent.conf and saving the file:

1
2
3
enable-ssh-support  # gpg-agent will only set the SSH_AUTH_SOCK variable if this flag is set
ttyname $GPG_TTY    # Use the tty set in $GPG_TTY enviroment variable
pinentry-program /usr/bin/pinentry-curses  # Use this program to ask for pin

4- Tell your shell (bash, zsh etc) to set the SSH_AUTH_SOCK and GPG_TTY for gpg-agent to use, and then launch gpg-agent if it’s not already started by adding the following your shell’s rc file (~/.bashrc for bash, ~/.zshrc for zsh):

1
2
3
export GPG_TTY="$(tty)"
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpg-connect-agent updatestartuptty /bye > /dev/null

5- Open a new shell to make sure the new rc file is loaded, and then run
ssh [email protected]
If you have added your public key to your github, a prompt will pop up in shell and asks for your pin:

OpenPGP prompt asking for pin code through pin entry program

And upon successful login to Github, you’ll see a welcome message:

Github welcome message
Done.