Azure'da Windows ile SSH anahtarlarını kullanma

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

Bu makale, Azure'da Linux sanal makinelerine (VM) bağlanmak için güvenli kabuk (SSH) anahtarları oluşturmak ve kullanmak isteyen Windows kullanıcılarına yöneliktir. Ayrıca, portalda VM oluştururken kullanılacak SSH anahtarlarını Azure portal oluşturabilir ve depolayabilirsiniz.

Linux veya macOS istemcisinden SSH anahtarlarını kullanmak için hızlı adımlara bakın. SSH'ye daha ayrıntılı bir genel bakış için bkz . Ayrıntılı adımlar: Azure'da Linux VM'sinde kimlik doğrulaması için SSH anahtarları oluşturma ve yönetme.

SSH ve anahtarlara genel bakış

SSH , güvenli olmayan bağlantılar üzerinden güvenli oturum açma işlemlerine olanak tanıyan şifrelenmiş bir bağlantı protokolüdür. SSH, Azure'da barındırılan Linux VM'leri için varsayılan bağlantı protokolüdür. SSH'nin kendisi şifreli bir bağlantı sağlasa da, SSH ile parola kullanmak vm'yi deneme yanılma saldırılarına karşı savunmasız bırakır. SSH anahtarları olarak da bilinen ortak-özel anahtar çifti kullanarak SSH üzerinden bir VM'ye bağlanmanızı öneririz.

Ortak-özel anahtar çifti, ön kapınızdaki kilit gibidir. Kilit herkese açık, doğru anahtara sahip herkes kapıyı açabilir. Anahtar özeldir ve yalnızca güvendiğiniz kişilere verilir çünkü kapının kilidini açmak için kullanılabilir.

  • Ortak anahtar, VM'yi oluşturduğunuzda Linux VM'nize yerleştirilir.

  • Özel anahtar yerel sisteminizde kalır. Bu özel anahtarı koruyun. Paylaşmayın.

Linux VM'nize bağlandığınızda, VM doğru özel anahtara sahip olduğundan emin olmak için SSH istemcisini test eder. İstemci özel anahtara sahipse vm'ye erişim izni verilir.

Kuruluşunuzun güvenlik ilkelerine bağlı olarak, birden çok Azure VM'sine ve hizmetlerine erişmek için tek bir anahtar çiftini yeniden kullanabilirsiniz. Her VM için ayrı bir anahtar çifti gerekmez.

Ortak anahtarınız herkesle paylaşılabilir, ancak yalnızca sizin (veya yerel güvenlik altyapınızın) özel anahtarınıza erişimi olmalıdır.

Desteklenen SSH anahtar biçimleri

Azure şu anda en az 2048 bit uzunluğunda SSH protokolü 2 (SSH-2) RSA ortak-özel anahtar çiftlerini desteklemektedir. ED25519 ve ECDSA gibi diğer anahtar biçimler desteklenmez.

SSH istemcileri

Windows 10 son sürümleri, SSH anahtarları oluşturup kullanmak ve PowerShell'den veya komut isteminden SSH bağlantıları yapmak için OpenSSH istemci komutlarını içerir.

Vm'nize bağlanmak için Azure Cloud Shell Bash'i de kullanabilirsiniz. Cloud Shell web tarayıcısında, Azure portal veya Azure Hesabı uzantısını kullanarak Visual Studio Code terminal olarak kullanabilirsiniz.

Ayrıca vm'nize SSH üzerinden bağlanmak için Linux için Windows Alt Sistemi yükleyebilir ve bash kabuğundaki diğer yerel Linux araçlarını kullanabilirsiniz.

SSH anahtar çifti oluşturma

SSH anahtarlarınızı oluşturmanın ve yönetmenin en kolay yolu portalı kullanarak bunları yeniden kullanmak ve depolamaktır .

SSH anahtarlarını oluşturma ve depolama bölümünde açıklandığı gibi az sshkey create komutuyla Azure CLI ile anahtar çiftleri de oluşturabilirsiniz.

PowerShell'den veya komut isteminden komutunu kullanarak ssh-keygen yerel bilgisayarınızda bir SSH anahtar çifti oluşturmak için aşağıdaki komutu yazın:

ssh-keygen -m PEM -t rsa -b 2048

Bir dosya adı girin veya parantez içinde gösterilen varsayılanı kullanın (örneğin C:\Users\username/.ssh/id_rsa). Dosya için bir parola girin veya parola kullanmak istemiyorsanız parolayı boş bırakın.

Anahtarınızı kullanarak VM oluşturma

Kimlik doğrulaması için SSH anahtarları kullanan bir Linux VM oluşturmak için, VM'yi oluştururken SSH ortak anahtarınızı sağlayın.

Azure CLI'yı kullanarak ve parametresini kullanarak az vm create ortak anahtarın yolunu ve --ssh-key-value dosya adını belirtirsiniz.

az vm create \
   --resource-group myResourceGroup \
   --name myVM \
   --image Ubuntu2204\
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

PowerShell ile kullanarak SSH anahtarını kullanın New-AzVM ve vm yapılandırmasına ekleyin'. Örnek için bkz . Hızlı Başlangıç: PowerShell ile Azure'da Linux sanal makinesi oluşturma.

Portalı kullanarak birçok dağıtım yapıyorsanız, ortak anahtarınızı Azure'a yüklemek isteyebilirsiniz; burada portaldan vm oluştururken kolayca seçilebilir. Daha fazla bilgi için bkz. SSH anahtarını karşıya yükleme.

Sanal makinenize bağlanma

Azure VM'nizde dağıtılan ortak anahtar ve yerel sisteminizdeki özel anahtar ile, VM'nizin IP adresini veya DNS adını kullanarak VM'nize SSH gönderin. Aşağıdaki komutta azureuser ve 10.111.12.123 değerlerini yönetici kullanıcı adı, IP adresi (veya tam etki alanı adı) ve özel anahtarınızın yolu ile değiştirin:

ssh -i ~/.ssh/id_rsa azureuser@10.111.12.123

Bu VM'ye daha önce hiç bağlanmadıysanız konakların parmak izini doğrulamanız istenir. Sunulan parmak izini kabul etmek caziptir, ancak bu sizi ortadaki saldırıda olası bir kişiye maruz bırakır. Konakların parmak izini her zaman doğrulamanız gerekir. Bunu yalnızca bir istemciden ilk kez bağlandığınızda yapmanız gerekir. Portal aracılığıyla konak parmak izini almak için Çalıştır Komutunu aşağıdaki komutla kullanın: ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'.

Konak parmak izini doğrulamak için Çalıştır Komutunun kullanılmasını gösteren ekran görüntüsü.

KOMUTU CLI kullanarak çalıştırmak için komutunu kullanınaz vm run-command invoke.

Anahtar çiftinizi oluştururken bir parola yapılandırdıysanız, sorulduğunda parolayı girin.

VM tam zamanında erişim ilkesini kullanıyorsa, VM'ye bağlanabilmek için önce erişim istemeniz gerekir. Tam zamanında ilkesi hakkında daha fazla bilgi için bkz. Tam zamanında ilkesini kullanarak sanal makine erişimini yönetme.

Sonraki adımlar