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}'
.
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
VM oluştururken kullanılacak Azure portal SSH anahtarları hakkında bilgi için bkz. Azure portal SSH anahtarları oluşturma ve depolama.
Azure CLI'da VM oluştururken kullanılacak SSH anahtarları hakkında bilgi için bkz. Azure CLI ile SSH anahtarları oluşturma ve depolama.
SSH anahtarlarıyla çalışmaya ilişkin ayrıntılı adımlar, seçenekler ve gelişmiş örnekler için bkz. SSH anahtar çiftleri oluşturmak için ayrıntılı adımlar.
Linux VM'lerinize bağlanmak için SSH kullanmakta güçlük çekiyorsanız bkz. Azure Linux VM'sine SSH bağlantılarında sorun giderme.