Linux VM parolasını veya SSH anahtarını sıfırlama, SSH yapılandırmasını düzeltme ve VMAccess uzantısını kullanarak disk tutarlılığını denetleme

Önemli

Klasik VM'ler 1 Mart 2023'te kullanımdan kaldırılacaktır.

ASM'den IaaS kaynaklarını kullanıyorsanız lütfen geçişinizi 1 Mart 2023'e kadar tamamlayın. Azure Resource Manager'daki birçok özellik geliştirmesinden yararlanmak için geçişi daha erken yapmanızı öneririz.

Daha fazla bilgi için bkz. IaaS kaynaklarınızı 1 Mart 2023'e kadar Azure Resource Manager'a geçirme.

Unutulan bir parola, yanlış Secure Shell (SSH) anahtarı veya SSH yapılandırmasıyla ilgili bir sorun nedeniyle Azure'da Linux sanal makinesine bağlanamıyorsanız, parolayı veya SSH anahtarını sıfırlamak için Azure CLI ile VMAccessForLinux uzantısını kullanın, SSH yapılandırmasını düzeltin ve disk tutarlılığını denetleyin.

Uyarı

Azure'da kaynak oluşturmak ve kaynaklarla çalışmak için iki farklı dağıtım modeli vardır: Resource Manager ve Klasik. Bu makalede Klasik dağıtım modelinin kullanımı yer alır. Microsoft, yeni dağıtımların çoğunun Resource Manager modelini kullanmasını önerir. Bu adımları Resource Manager modeli kullanarak gerçekleştirmeyi öğrenin.

Azure CLI ile komutlara erişmek için komut satırı arabiriminizden (Bash, Terminal, Komut istemi) azure vm uzantı kümesi komutunu kullanırsınız. Ayrıntılı uzantı kullanımı için azure help vm extension set komutunu çalıştırın.

Azure CLI ile aşağıdaki görevleri gerçekleştirebilirsiniz:

Önkoşullar

Aşağıdakileri yapmanız gerekir:

  • Hesabınızla ilişkili Azure kaynaklarını kullanmak için Azure CLI'yı yüklemeniz ve aboneliğinize bağlanmanız gerekir.
  • Komut istemine aşağıdakileri yazarak klasik dağıtım modeli için doğru modu ayarlayın:
        azure config mode asm
    
  • Birini sıfırlamak istiyorsanız yeni bir parola veya SSH anahtarları kümesine sahip olun. SSH yapılandırmasını sıfırlamak istiyorsanız bunlara ihtiyacınız yoktur.

Parolayı sıfırlama

  1. Yerel bilgisayarınızda bu satırlarla PrivateConf.json adlı bir dosya oluşturun. myUserName ve myP@ssW0rd kendi kullanıcı adınız ve parolanızla değiştirin ve süre sonu için kendi tarihinizi ayarlayın.

        {
        "username":"myUserName",
        "password":"myP@ssW0rd",
        "expiration":"2020-01-01"
        }
    
  2. MyVM için sanal makinenizin adını değiştirerek bu komutu çalıştırın.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json
    

SSH anahtarını sıfırlama

  1. Bu içeriklerle PrivateConf.json adlı bir dosya oluşturun. myUserName ve mySSHKey değerlerini kendi bilgilerinizle değiştirin.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey"
        }
    
  2. MyVM için sanal makinenizin adını değiştirerek bu komutu çalıştırın.

     azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Hem parolayı hem de SSH anahtarını sıfırlayın

  1. Bu içeriklerle PrivateConf.json adlı bir dosya oluşturun. myUserName, mySSHKey ve myP@ssW0rd değerlerini kendi bilgilerinizle değiştirin.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey",
        "password":"myP@ssW0rd"
        }
    
  2. MyVM için sanal makinenizin adını değiştirerek bu komutu çalıştırın.

        azure vm extension set MyVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Yeni sudo kullanıcı hesabı oluşturma

Kullanıcı adınızı unutursanız, SUDO yetkilisiyle yeni bir ad oluşturmak için VMAccess'i kullanabilirsiniz. Bu durumda, mevcut kullanıcı adı ve parola değiştirilmez.

Parola erişimine sahip yeni bir sudo kullanıcısı oluşturmak için Parolayı sıfırlama başlığındaki betiği kullanın ve yeni kullanıcı adını belirtin.

SSH anahtarı erişimine sahip yeni bir sudo kullanıcısı oluşturmak için SSH anahtarını sıfırlama başlığındaki betiği kullanın ve yeni kullanıcı adını belirtin.

Hem parola hem de SSH anahtarı erişimine sahip yeni bir kullanıcı oluşturmak için Parolayı ve SSH anahtarını sıfırla'yı da kullanabilirsiniz.

SSH yapılandırmasını sıfırlama

SSH yapılandırması istenmeyen bir durumdaysa VM'ye erişiminizi de kaybedebilirsiniz. Yapılandırmayı varsayılan durumuna sıfırlamak için VMAccess uzantısını kullanabilirsiniz. Bunu yapmak için "reset_ssh" anahtarını "True" olarak ayarlamanız yeterlidir. Uzantı SSH sunucusunu yeniden başlatır, VM'nizde SSH bağlantı noktasını açar ve SSH yapılandırmasını varsayılan değerlere sıfırlar. Kullanıcı hesabı (ad, parola veya SSH anahtarları) değiştirilmez.

Uyarı

Sıfırlanan SSH yapılandırma dosyası /etc/ssh/sshd_config konumunda bulunur.

  1. Bu içerikle PrivateConf.json adlı bir dosya oluşturun.

        {
        "reset_ssh":"True"
        }
    
  2. MyVM için sanal makinenizin adını değiştirerek bu komutu çalıştırın.

     	azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Kullanıcıyı silme

Doğrudan VM'de oturum açmadan bir kullanıcı hesabını silmek istiyorsanız, bu betiği kullanabilirsiniz.

  1. Bu içerikle PrivateConf.json adlı bir dosya oluşturun ve removeUserName için kaldırılacak kullanıcı adını yazın.

        {
        "remove_user":"removeUserName"
        }
    
  2. MyVM için sanal makinenizin adını değiştirerek bu komutu çalıştırın.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

VMAccess uzantısının durumunu görüntüleme

VMAccess uzantısının durumunu görüntülemek için bu komutu çalıştırın.

        azure vm extension get

Eklenen disklerin tutarlılığını denetleme

Linux sanal makinenizdeki tüm disklerde fsck çalıştırmak için aşağıdakileri yapmanız gerekir:

  1. Bu içerikle PublicConf.json adlı bir dosya oluşturun. Sanal makinenize bağlı disklerin kontrol edilip edilmeyeceğini belirlemek için Check Disk bir boole değeri alır.

        {   
        "check_disk": "true"
        }
    
  2. Yürütmek için bu komutu çalıştırın ve myVM için sanal makinenizin adını yazın.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json 
    

Diskleri onarma

Bağlama olmayan veya bağlama yapılandırma hataları olan diskleri onarmak için VMAccess uzantısını kullanarak Linux sanal makinenizdeki bağlama yapılandırmasını sıfırlayın. myDisk için diskinizin adını değiştirme.

  1. Bu içerikle PublicConf.json adlı bir dosya oluşturun.

        {
        "repair_disk":"true",
        "disk_name":"myDisk"
        }
    
  2. Yürütmek için bu komutu çalıştırın ve myVM için sanal makinenizin adını yazın.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
    

Sonraki adımlar

  • Parolayı veya SSH anahtarını sıfırlamak, SSH yapılandırmasını düzeltmek ve disk tutarlılığını denetlemek için Azure PowerShell cmdlet'lerini veya Azure Resource Manager şablonlarını kullanmak istiyorsanız GitHub'da VMAccess uzantısı belgelerine bakın.
  • Klasik dağıtım modelinde dağıtılan bir Linux VM'nin parolasını veya SSH anahtarını sıfırlamak için Azure portalını da kullanabilirsiniz. Resource Manager dağıtım modelinde bir Linux VM dağıtımı için portalı kullanarak şu anda bunu yapamazsınız.
  • Azure sanal makineleri için VM uzantılarını kullanma hakkında daha fazla bilgi için bkz. Sanal makine uzantıları ve özellikleri hakkında.