I'm deploying a web-based ERP system for a customer, such that both the server and the client machines will be inside the customer's intranet. I was advised not to allow the server machine to connect to the internet, but the clients won't have this restriction. However, I need access to both to provide support, so I'm planning to use TeamViewer to access the client (to assist users directly upon request) and SSH from the client machine to the server machine (to perform updates, for instance).
[my machine] ---TeamViewer---> [customer's client] ---SSH---> [customer's server]
My question is: is this setup as bad as just accessing the server directly through SSH? I see some advantages in the indirect connection (it will only be accessible when a customer's employee opens TeamViewer, he'll be sitting there seeing everything that happens and can even type the passwords for me, so they don't get transmitted through the internet ever), but I wonder if there are drawbacks I can't foresee.
If both approaches are equally (in)secure, I'll just allow direct SSH to the server, since it's simpler. And if, for any reason, this indirect setup makes everything less secure, I can go a step further and advise the customer to block SSH access from the machine(s) where TeamViewer is installed.
Update: seeing the answers/comments below, I think I need to clarify myself a bit. My goal here is to make the server more secure than the clients. The exact setup is my customer's responsibility, not mine, but since I'm deploying my product in their network - and I need to remotely access it to provide maintenance - I have to advise them in the pros and cons of each configuration. They worry that an internet-facing server will be more vulnerable than one only (directly) accessible from their internal network, but I suspected (and the feedback below confirms it) that it's not always the case.
I can't properly secure the clients, they will be running a variety of programs outside my control - including a mandatory remote desktop, TeamViewer or other - so the "natural" choice would be disallow SSH connections between clients and server. OTOH, a compromised client does not automatically give access to the server, since you'd still need to authenticate to it (for instance, using key authentication and storing the key offline, in a USB flash drive). But I agree it's not a good idea.
Another option would be setting up a very secure client and using it as a proxy to the server (disallowing everyone else). However, my original question pops up again: isn't it pointless to do so, instead of just having an internet-facing server?