You can assume that you have an atlas where you have charts on countably many open intervals. Then you need to check that you can replace two adjacent intervals with one interval. Iterating thsthis, you can construct a diffeomorphism between the whole thing and an open subset of $\mathbb R$. Using some standard diffeomorphisms, you get one with all of $\mathbb R$.
So the key step is done by gluing two intervals together. This can be done with bump functions. If you glue together the intervals $(0,2)$ and $(3,5)$ together by some smooth map $(1,2) \to (3,4)$ you can change the smooth structure on $(0,2)$ by using a new smooth map $(0,2) \to (0,2)$ that is equal to the identity on small values and equal to the gluing map on large values. Do the same thing to $(3,5)$, and the gluing map becomes the identity.