The line of shortest distance between the two given lines will be perpendicular to both. Therefore, you can take the cross product of the direction vectors to find the direction of shortest distance.
Now, you need to find two points on the two lines that are in that direction of each other. To do this, you could construct the plane including one of the given lines along with the direction vector of the segment of shortest distance. Then compute the intersection of that plane with the second line.
For a parametric equation of a line $(x,y,z) = (x_0, y_0, z_0) + (a,b,c)s$, the line itself is the set of all points $P(x,y,z)$ such that $x = x_0 + as$, $y = y_0 + bs$, and $z = z_0 + cs$. When $s = 1$, this gives you one point $A$; when $s = 2$, this gives you another point $B$; and when you take all values of $s \in \mathbb{R}$, you get the entire line.
Notice that if instead you had $(x,y,z) = (x_0, y_0, z_0) + (a,b,c)s/2$, you'd still have the same line, except this time, $s$ has to be $2$ to give you point $A$, $s = 4$ gives you point $B$, etc. So when you're trying to find the value of $s$ for any one point, you can just choose any $s$ that you want!
So if $(2,1,1) = (a,b,c)s$, choose any $s$ you want and solve it for $a$, $b$, and $c$.
(By the way, there are two points on the line $(1,2,0) + (2,-1,2)t$ that are $3$ units away from $(1,2,0)$. You found one when you set $t = 1$; what if you set $t = -1$?)
Best Answer
If you want to use cross-product: as you know, $$|a\times b|=|a||b|\sin\theta$$ where $\theta$ is the angle between vectors $a$ and $b$
The shortest distance you require is $$|PP_0|\sin\theta$$ where $\theta$ is the angle between the vector $PP_0$ and the direction vector of the line.
Can you take it from there?