Você precisa armazenar sua chave pública em ~john/.ssh/authorized_keys , conforme descrito na página de manual para sshd (bom lugar para começar). Além disso, você precisa garantir que o diretório ~john/.ssh/ pertença a john e tenha 0700 permissões e ~john/.ssh/authorized_keys também com permissões 0600 .
Em seguida, o usuário deve conseguir fazer login.