Aracılığıyla paylaş


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 kaldıracağız.

ASM'den IaaS kaynaklarını kullanıyorsanız lütfen geçiş işlemini 1 Mart 2023'e kadar tamamlar. Azure'daki birçok özellik geliştirmelerinden yararlanmak için anahtarı daha önce Resource Manager.

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

Unutulan parola, yanlış bir 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, SSH yapılandırmasını düzeltmek ve disk tutarlılığını kontrol etmek için Azure CLI ile VMAccessForLinux uzantısını kullanın.

Not

Azure'da kaynak oluşturmak ve kaynaklarla çalışmak için iki farklı dağıtım modeli vardır: Resource Manager Ve Klasik. Bu makale Klasik dağıtım modelini kullanmayı kapsar. 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 komut satırı arabiriminden (Bash, Terminal, Komut istemi) azure vm extension set komutunu kullanarak komutlara erişebilirsiniz. Ayrıntılı uzantı kullanımı için azure help vm extension set'i çalıştırın.

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

Önkoşullar

Şunları yapmak gerekir:

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

Parolayı sıfırlama

  1. Yerel bilgisayarınızda bu satırlarla PrivateConf.json adlı bir dosya oluşturun. myUserName vemyP@ssW0rd kendi kullanıcı adınız ve parolanız ile 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ı kullanarak 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 vemySSHKey değerlerini kendi bilgileriyle değiştirin.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey"
        }
    
  2. MyVM için sanal makinenizin adını kullanarak 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ırlama

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

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

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

Yeni bir sudo kullanıcı hesabı oluşturma

Kullanıcı adını unutursanız VMAccess'i kullanarak sudo yetkilisini kullanarak yeni bir ad oluşturabilirsiniz. Bu durumda, mevcut kullanıcı adı ve parola değiştirilmez.

Parola erişimi olan yeni bir sudo kullanıcısı oluşturmak için Parolayı sıfırla'daki 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'daki betiği kullanın ve yeni kullanıcı adını belirtin.

Parolayı ve SSH anahtarını sıfırla'yı kullanarak hem parola hem de SSH anahtarı erişimine sahip yeni bir kullanıcı oluşturabilirsiniz.

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

SSH yapılandırması istirnaksız bir durumda ise VM'ye erişimi de kaybedebilirsiniz. Yapılandırmayı varsayılan durumuna sıfırlamak için VMAccess uzantısını kullanabilirsiniz. Bunu yapmak için yalnızca "reset_ssh" anahtarını "True" olarak ayarlay gerekir. Uzantı SSH sunucusunu yeniden başlatacak, VM'nizin 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şmez.

Not

Sıfırlanacak SSH yapılandırma dosyası /etc/ssh/sshd_config.

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

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

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

Kullanıcı silme

Vm'de doğrudan oturum açmadan bir kullanıcı hesabını silmek için bu betiği kullanabilirsiniz.

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

        {
        "remove_user":"removeUserName"
        }
    
  2. MyVM için sanal makinenizin adını kullanarak 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 şu komutu çalıştırın.

        azure vm extension get

Eklenen disklerin tutarlılığını denetleme

Linux sanal makinenizin tüm disklerde fsck çalıştırmak için aşağıdaki adımları gerçekleştirin:

  1. Bu içerikle PublicConf.json adlı bir dosya oluşturun. Disk denetimi, sanal makinenize bağlı disklerin olup olmadığını denetlemeye yönelik bir boole alır.

        {   
        "check_disk": "true"
        }
    
  2. myVM için sanal makinenizin adını kullanarak bu komutu çalıştırarak komutunu yürütün.

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

Diskleri onarma

Bağlamaya gerek olan veya bağlama yapılandırma hataları olan diskleri onarmak için VMAccess uzantısını kullanarak Linux sanal makinenize bağlama yapılandırmasını sıfırlayın. myDisk için diskin adını yazın.

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

        {
        "repair_disk":"true",
        "disk_name":"myDisk"
        }
    
  2. myVM için sanal makinenizin adını kullanarak bu komutu çalıştırarak komutunu yürütü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ı kontrol etmek için Azure PowerShell cmdlet'lerini veya Azure Resource Manager şablonlarını kullanmak için GitHub.
  • Klasik dağıtım modelinde Azure portal Linux VM'nin parolasını veya SSH anahtarını sıfırlamak için de bu parolayı kullanabilirsiniz. Şu anda portal bunu dağıtım modelinde dağıtılan bir Linux VM için Resource Manager kullanası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.