add public key authentication