Here is another possibility.
EDIT: Thanks to Bruno for pointing out that I was being silly :) Because of this, the material between the %%%%%%%% is good motivation for the final argument, but no longer directly applicable.
%%%%%%%%
As a warm up, prove the following basic result: every Dedekind domain with finitely many prime ideals is a PID.
This is quite easy, kind of. Let's start with a fruitless attempt (made fruitless by rings like $\mathbb{Z}[\zeta_{23}]$). Namely, in a general Dedekind domain $R$ here is an attempt to show that any ideal is principal. Take your ideal $\mathfrak{a}$, factor it into primes $\mathfrak{p}_1^{e_1}\cdots\mathfrak{p}_n^{e_n}$.
Now, we might think that CRT shows that $\mathfrak{a}$ is principal as follows. By the CRT we can find $x\in R$ such that $v_{\mathfrak{p}_i}(x)=e_i$ for each $i$, and so we might guess that $(x)=\mathfrak{p}_1^{e_1}\cdots\mathfrak{p}_n^{e_n}$. Of course, this doesn't work for a simple reason. Even though we have controlled $v_{\mathfrak{p}_i}(x)$ for we have NOT controlled $v_\mathfrak{p}(x)$ for a prime $\mathfrak{p}$ different than any of the $\mathfrak{p}_i$. Thus, a priori, we just know that $(x)=\mathfrak{p}_1^{e_1}\cdots\mathfrak{p}_n^{e_n}\cdot I$ where $I$ is some ideal coprime to each of the $\mathfrak{p}_i$'s (i.e. $I$ consists of primes where we haven't been able to control the valuation).
Thus, we see that CRT tells us that we can always find elements with controlled valuation at any arbitrarily large, but finite number of primes. But, not that we can control it for all primes--thus our hope that we could prove every ideal of a Dedekind domain fails. Of course, if we do have only finitely many primes, then we're home free. Thus, we get the stated result.
%%%%%%%%
Now, for your problem, it suffices to show that each $\mathcal{O}/\mathfrak{p}^n$ is a PIR. To show this, take an ideal $\mathfrak{a}=\mathfrak{p}^e \mathfrak{p}_1^{e_1}\cdots\mathfrak{p}_n^{e_n}$ and find an element $x\in\mathcal{O}$ such that $v_\mathfrak{p}(x)=e$. Then, using this along with the fact that $\mathfrak{p}_i^{e_i}/\mathfrak{p}^n=\mathcal{O}/\mathfrak{p}^n$ to conclude that $\mathfrak{a}/\mathfrak{p}^n=(x)$.