$\newcommand{\Rbar}{\overline{\mathbb{R}}}\newcommand{\R}{\mathbb{R}}\newcommand{\minimize}{\operatorname{Minimize}}$Another way to derive the dual for any convex problem is to use Fenchel duality.
Fenchel duality
Define $\Rbar=\R\cup \{+\infty\}$. A function $f:\R^n\to\Rbar$ is called proper if there is an $x\in\R^n$ such that $f(x) < \infty$. Given a nonempty convex set $C\subseteq \R^n$, define
$$
\delta_C(x) = \begin{cases}
0,&\text{if } x \in C\\
\infty,&\text{if } x \notin C
\end{cases}
$$
Consider the following optimization problem
$$
\mathbb{P}:
\minimize_{x\in\R^n} f(x) + g(Ax)
$$
where $f:\R^n\to\Rbar$, $g:\R^m\to\Rbar$ are proper, convex, lower semicontinuous functions and $A\in\R^{m\times n}$.
The convex conjugate of a proper convex function $f:\R^n\to\Rbar$ is defined as the function $f^*:\R^n\to\Rbar$ with
$$
f^*(y) = \sup_x x^\top y - f(x)
$$
The Fenchel dual of problem $\mathbb{P}$ is the following convex optimization problem
$$
\minimize_y f^*(-A^\top y) + g^*(y).
$$
Conic duality
Define $f(x) = c^\top x$, $g(z) = \delta_{\mathcal{K}}(b-z)$, where $\mathcal{K}$ is a closed convex cone. Then, the conic problem
$$
\begin{align}
\minimize_x\ & c^\top x\\
\text{subject to }& b - Ax \in \mathcal{K}
\end{align}
$$
can be written as
$$
\mathbb{P}:
\minimize_{x\in\R^n} f(x) + g(Ax)
$$
The convex conjugates of $f$ and $g$ are $f^*(v) = \delta_{\{c\}}(v)$ and $g^*(y) = b^\top y + \delta_{\mathcal{K}^*}(y)$, where $\mathcal{K}^*$ is the dual cone of $\mathcal{K}$. This means that the Fenchel dual problem is
$$
\begin{align}
\mathbb{D}: \minimize_y\ & b^\top y\\
\text{subject to }& y \in \mathcal{K}^*
\\
&A^\top y + c = 0
\end{align}
$$
Note: The inclusion $b-Ax \in \mathcal{K}$ in the primal problem is often written as $b - Ax \succeq_{\mathcal{K}} 0$.