Das ist nicht so schwer:
1. Lasse dir von dem Kunden seinen Public Key schicken. Wenn er keinen hat oder dich fragend ansieht, dann erstelle mit den Kommandozeilenwerkzeugen (wenn er einen Linuxclient benutzt) oder puttygen (wenn er Putty verwendet, da werden die Keys anders gespeichert) ein keypair und schicke ihm sein Keypair zu
2. Erstelle im Home-Verzeichnis des Users ein Verzeichnis .ssh
# mkdir .ssh
3. Erstelle und bearbeite im Folder .ssh ein File authorized_keys
# vi .ssh/authorized_keys (oder nano .ssh/authorized_keys)
4. Kopiere den Public Key deines Kunden hier hinein und speichere die Datei
5. GANZ WICHTIG, wird immer gern vergessen:
Sicherheit des Folders und des Files setzen, sonst wird beides vom sshd ignoriert.
Muss beides dem jeweiligen User gehören, außer ihm darf niemand Rechte darauf haben.
# chown -R username:gruppe .ssh
# chmod 700 .ssh
# chmod 600 .ssh/authorized_keys
FERTIG
Jetzt kann dein User den Private Key zu dem eingefügten Public Key zur Authentifizierung nutzen.
Wenn er verschiedene Keypairs hat (z.B. einen mit puttygen generierten für den Windows Laptop + 1 für den Zugang von der Ubuntu Workstation) kannst du in dieses File mehrere Keys einfügen. 1 Key pro Zeile, einfach Zeilenumbruch und weiter.
PS: Solange du nicht sein Passwort aus der /etc/shadow raus schmeißt kann er sich auch weiterhin per Passwort anmelden