Hello,

what is the fastest and best way to enable public SSH key access to the Linux PC?

This worked for me.

1. Login Linux from which you want to gain password-less, public key access (lets call it client)
2. execute ssh-keygen -C "" on that client (to generate public key, without comment that would expose which user and hostname the key belong to, using no password for password-less access)
3. execute ssh-copy-id -p itsSSHporthere root@ServerIPHere to send the client's key to the server
4. Now the client's key is in server's ~/.ssh/authorized_keys and client should have password-less access

In case of reverse SSH tunnel, try to repeat the process, only vice versa, client to the server.

---- /etc/ssh/sshd_config for password access ---
password access:
PermitRootLogin yes
PasswordAuthentication yes
UsePAM yes

---- /etc/ssh/sshd_config for only authorized computers ----
(NOTE: you may cut yourself from this computer in case you do not have physical access to it and you have not supplied valid key/s to its ~/.ssh/authorized_keys file):

PermitRootLogin prohibit-password
PasswordAuthentication no
UsePAM no

service ssh reload

5. backup server's public SSH key that you have in client's ~/.ssh/known_hosts so you have it handy for use on other/new devices. Run on client:
A) grep "serverIPhere" ~/.ssh/known_hosts
Copy the output to safe encrypted place (like for example KeePass password manager database synced to cloud storage/portable drives and backed up.

Hostnames/IPs privacy:
Hostnames and IPs of other computers stored in your computer ~/.ssh/known_hosts file may be hashed for privacy:
ssh-keygen -H -f ~/.ssh/known_hosts # replaces original file with the file that has hashed IPs/hostnames and keeps original file backup.
ssh-keygen -F IPorHostnameHere -H -f ~/.ssh/known_hosts # discover which key belong to which IP/hostname
ssh-keygen -R IPorHostnameHere # removes keys belongign to a defined remote server including hashed entries

Removing client username and hostname from public keys:
In case you have used ssh-keygen without -C "" switch to generate your local key, then the username@hostname of your computer may be append to public key file $HOME/.ssh/id_rsa.pub
and published (using ssh-copy-id) to server's $HOME/.ssh/authorized_keys file. If yours mentioned id_rsa.pub contains your username and hostname and you have publish it to remote computers using ssh-copy-id and you want to remove it, then:
6. remove it in your local pub. key file: ssh-keygen -c -C "" -f $HOME/.ssh/id_rsa
7. login remote computers and edit its file $HOME/.ssh/authorized_keys removing " username@hostname" part