@Md-Mijanur-Rahman-Sahed great question! When it comes to connection to VMs as you have stated, there are options.
SSH - is used commonly for non-Windows environments, and widely supported. There is support for OpenSSH in Windows today. This type of connection allows for two authentication methods:
- Passwords - not recommended, as these are vulnerable to password-based attacks
- Key-based - the preferred authentication method, using asymmetric encryption. This method strengthens the resiliency of the VM to authentication-based attacks.
https://docs.microsoft.com/en-us/azure/virtual-machines/linux-vm-connect?tabs=Linux
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/connect-ssh?tabs=azurecli
Remote Desktop Protocol(RDP)/Remote Desktop Connection - This is the traditional native connection method for connecting to, and configuring Windows operating systems (Windows 10/11 and Windows Server). In Azure you generate an RDP file that can be generated, downloaded and used to create an encrypted connection.
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/connect-rdp
Bastion - the biggest benefit to this service is that you are utilizing a serverless solution to connect to ANY VM within a given vNET, without having to generate an RDP file for each individual machine you would like to connect to. You select the Bastion service when creating the vNET. Another benefit is that all the VMs in this vNET will not require any additional agents, clients, additional software, or exposing open ports to the Internet.
https://docs.microsoft.com/en-us/azure/bastion/bastion-connect-vm-rdp-windows
https://docs.microsoft.com/en-us/azure/bastion/bastion-connect-vm-ssh-linux
I have posted the supporting documentation links if you would like to take a greater deep dive.
Best Regards,
Wes Bryan
Knowledge is a road to be traveled upon, not a destination to be reached~~