The question has already been answered. Still, I figured I won't hurt if I provide another description of how you get to the general protocol. This will essentially be a rephrasing of this other excellent answer. I'm posting it separately from my other answer here because this is from a completely different angle, and I think I would just make it more confusing if both things are discussed in the same post.
Approach #1
Setup
We have a shared maximally entangled state, call it $|\Psi\rangle=\sum_i |i,i\rangle$ (I'll ignore normalisation factors throughout this, as they're not pivotal to the discussion).
Let the state to send over be some $|\psi\rangle$, held by Alice. The initial state can thus be written as
$$|\psi\rangle\otimes|\Psi\rangle
\equiv |\psi\rangle_A\otimes|\Psi\rangle_{A'B}.$$
Here, $A'$ is the second system held by Alice. Idea being that $|\psi\rangle$ is initially held by Alice, while $|\Psi\rangle$ is initially held by both Alice and Bob.
We want to somehow "send" $|\psi\rangle$ from Alice to Bob by only using classical communication (exploiting the state $|\Psi\rangle$ which Alice and Bob share).
Effect of projecting on maximally entangled state
Let $|\Phi\rangle$ be some other maximally entangled state, which can thus again be written as $|\Phi\rangle=\sum_j |u_j,v_j\rangle$ for some orthonormal bases $\{|u_j\rangle\},\{|v_j\rangle\}$. What happens if we project the first two degrees of freedom of $|\psi\rangle\otimes|\Psi\rangle$ onto $|\Phi\rangle$? Well, we get
$$(\langle\Phi|_{AA'}\otimes I_{B})(|\psi\rangle_A\otimes|\Psi\rangle_{A'B})
= \sum_{ij} \langle u_j|\psi\rangle \langle v_j|i\rangle \,|i\rangle_B
= \underbrace{\left(\sum_{ij} |i\rangle\!\langle v_j|i\rangle\!\langle u_j|\right)}_{\equiv W} |\psi\rangle,$$
where we can easily notice that $W$ is a unitary operation, as $W=\bar V U^\dagger$, with $U,V$ the unitaries whose columns are $|u_j\rangle$ and $|v_j\rangle$, respectively.
It's also worth noting that these unitaries are tightly related to $|\Phi\rangle$, as
$$|\Phi\rangle=(UV^T\otimes I)|\Psi\rangle.$$
So, rephrasing the above in a slightly different way, we:
- Observe that any maximally entangled state $|\Phi\rangle$ can be written as $|\Phi\rangle=(U\otimes I)|\Psi\rangle$ for some unitary $U$.
- Observe that projecting $AA'$ onto $|\Phi\rangle$ gives
$$(\langle\Phi|_{AA'}\otimes I_{B})(|\psi\rangle_A\otimes|\Psi\rangle_{A'B}) =
U^\dagger |\psi\rangle.$$
In conclusion, projecting onto any maximally entangled state, gives an outcome that equals $|\psi\rangle$, up to a unitary operation.
Use a basis of maximally entangled states
The only problem with the above is that one does not simply "project" a state onto something. Rather, one chooses a measurement basis, and sees what comes out. In other words, the projection we computed above tells us what happens when specific states are found as a result of a measurement (in a suitable measurement basis).
So, to use the above, we clearly want to find a measurement basis whose components are all maximally entangled states. If we can do that, we're essentially set.
But again, we already mentioned that all maximally entangled states are writable as $|\Psi_U\rangle\equiv (U\otimes I)|\Psi\rangle$ for some $U$. We then further notice that if $\operatorname{Tr}(U^\dagger V)=0$, then $\langle \Psi_U|\Psi_V\rangle=0$, which follows immediately from the following general property:
$$\langle\Psi|(A\otimes I)|\Psi\rangle = \operatorname{Tr}(A).$$
Thus, if we can find a basis (wrt the $L_2$ inner product, for the space of linear operators) of $d^2$ unitary operators, i.e. a collection of unitaries such that $\operatorname{Tr}(U_i^\dagger U_j)=d \delta_{ij}$, we correspondingly get a basis of maximally entangled states. Denote this basis with $\{|\Psi_i\rangle\}_i$.
In conclusion, measuring $AA'$ on this basis, when the $i$-th outcome is found, the corresponding post-measurement state is $U_i^\dagger |\psi\rangle$. It is then enough for Alice to tell Bob (via classical communication or whatever) the value of $i$, so that Bob can then apply the unitary $U_i$ on his state, and thus retrieving $|\psi\rangle$.
Approach #2
Here's another approach, again heavily inspired by this other answer, which I rather like.
Notice that we kinda want to go from $|\psi\rangle_A|\Psi\rangle_{A'B}$ to $|\Psi'\rangle_{AA'}|\psi\rangle_B$ for some final $|\Psi'\rangle$. One generally thinks of this $|\Psi'\rangle_{AA'}$ as consumed in the measurement process, but there's not loss in generality in thinking it to be the post-measurement state or such.
Point of this observation being, that the teleportation protocol sort of amounts to a swap operation between $A$ and $B$.
Here's an interesting observation: we can write the swap operation $\operatorname{SWAP}_{13}$ between first and third space, in a generic tripartite system, as
$$\operatorname{SWAP}_{13}= \frac{1}{d}\sum_i (U_i\otimes I \otimes U_i^\dagger),$$
for any basis of unitary operations for the space of linear operators over $\mathbb{C}^d$, meaing these unitaries satisfy $\operatorname{Tr}(U_i^\dagger U_j)=d\delta_{ij}$.
Using this, we can write
$$|\psi\rangle|\Psi\rangle = \operatorname{SWAP}_{13}|\Psi\rangle|\psi\rangle = \frac1{d}\sum_{i=1}^{d^2} (U_i\otimes I)|\Psi\rangle\otimes (U_i^\dagger|\psi\rangle)
\simeq \sum_{i=1}^{d^2} |\Psi_i\rangle\otimes (U_i^\dagger |\psi\rangle),$$
which makes it clear that projecting $AA'$ on $|\Psi_i$ and applying $U_i$ on $B$ achieves teleportation.