If you know what you are doing, you can install pfsense (or another firewall istribution) in a small VM, and then set that VM to your public IP as it's WAN (internet) address. You make another "virtual switch" in VMwware first, and set the connect the LAN interface of your pfsense to the virtual sense. You can then use NAT, DHCP, port forwarding, etc. Make sure you set the pfsense VM to boot up automatically with the host. Once you are very sure it's working, and have someone wherever your computer is to support you if it doesn't work, you can switch the management interface of VMware over to the internal segment (which can be a 10.0.0.x address or whatever).
You can set your pfsense to port forward the VMWare management ports from the outside IP so that you can still connect "directly" to the outside IP to manage your VMs. You can also simply not do this, and only be able to manage your VMWare from a VM with the vSphere client installed or something.
What makes this solution is that if your pfsense ever stops working, you will lose access to VMWare, since it only has an internal IP. If you have physical access, I recommend this solution. (Of course you can use a real router instead of an appliance if you like).
Another, simpler solution, you can leave your VMware server on a public IP - if you just need SSH, is that you just enable SSH on ESXi, and SSH into the ESXi server, and then from there run SSH and SSH into your Linux VM, which can be on a private IP. Even in this case, if you want your VM to have internet access, you will still have to have a router or proxy of some sort running in a VM, which will need an IP.