I want to securely connect to linux through ssh. I heard that to setup a VPN is more secure.
But I don't know how to setup VPN-connect-only in Linux.
I want to restrict directly connection except through VPN.
VPN stands for Virtual Private Network. SSH stands for Secure Shell.
VPN simply provides a more secure (and perhaps more convenient) means of accessing your servers across insecure or public networks using other protocols.
Think of it this way.
The VPN is like a Turducken. The SSH protocol is still necessary to actually get to your server, and is like the birds on the inside. Most people can't SEE inside the turkey to know what is in there, but you know what it is and have the keys (knife) to open up the VPN packets (outer turkey layer) so that you can get at the inner bird.
In short, You cannot connect to your server ONLY through VPN without using some other protocol to handle logins, such as SSH. They are not mutually-exclusive.
As far as I know ssh is undoubtedly secured. However if you want to configure VPN on Debian Linux, You can follow this link.