Given one primitive root, how do you find all the others? For example:  if $5$ is a primitive root of $p = 23$.

Since $p$ is a prime there are $\phi(p - 1)$ primitive roots. Is this correct?  

If so, $\phi(p - 1) = \phi(22) = \phi(2) \phi(11) = 10$.  So $23$ should have $10$ primitive roots?

And, to find all the other primitive roots we need powers of $5$, say $k$, sucht that $gcd(k, p - 1) = d&gt; 1$.  Again, please let me know If this true or not

So, the possible powers of $5$ are: $1, 2, 11, 22$.  But this only gives four other primitive roots.  So I don't think I'm on right path.
If $d=ord_ma,$ we know from here $ord_m(a^n)=\frac d{(n,d)}$ where $m,d$ are positive integers  and $a,n$  are integers

If $a$ is a primitive root $\pmod m, ord_ma=\phi(m)$ 

(Remember all integers may not have a primitive root )

So, $ord_m(a^n)=\frac {\phi(m)}{(n,\phi(m))}$

So,  $a^n$ is a primitive root $\pmod m,$ if $ord_m(a^n)=\phi(m)$ which needs $(n,\phi(m))=1$

If $m$ is prime, $\phi(m)=m-1$
The possible powers of 5 are all the $k$'s that $gcd(k,p−1)=1$, so $k$ is in the set {$1, 3, 5, 7, 9, 13, 15, 17, 19, 21$} and $5^k$ is in the set {$5, 10, 20, 17, 11, 21, 19, 15, 7, 14$} which is exactly of length 10.