VMware ESXi'de SSH Anahtar Tabanlı Kimlik Doğrulamayı Ayarlama
Kullanıcı adı ve parola çifti kullanmak yerine VMware ESXi ana bilgisayarlarında oturum açmak için SSH anahtar tabanlı kimlik doğrulamayı yapılandırabilirsiniz. Bu, bir ESXi ana bilgisayarını harici komut dosyaları kullanarak uzaktan yönetmeniz gerekiyorsa (örneğin, UPS'teki bir elektrik kesintisi durumunda ESXi'ye kapatma komutu göndermek için) veya VMware ESXi ana bilgisayarlarını Ansible ile yönetmeniz gerekiyorsa yararlı olabilir.
Yöneticinin bilgisayarında özel ve genel anahtarlar oluşturun. Minimum 4096 bit uzunluğunda RSA anahtarları kullanın. Windows'ta 4096 uzunlukta bir RSA anahtar çifti oluşturmak için şu komutu çalıştırın:
ssh-keygen -t rsa -b 4096Windows'ta SSH anahtar tabanlı kimlik doğrulama hakkında daha fazla bilgi edinin.
Yeni OpenSSH yapılarında RSA anahtarları yerine Ed25519 protokolünün kullanılması önerilir (bazı sistemler libcrypto'da RSA/SHA1'i devre dışı bırakmaya başladığından özel anahtarların kullanılabilirliğini test ederken RSA/SHA256 kullanın). ESXi 8.0'da yalnızca Ed25519 anahtar çiftini kullanarak SSH bağlantısını devre dışı bıraktıktan sonra kurabildim.
FipsMode no
/etc/ssh/sshd_config dosyasındaki seçenek.
Ed25519 anahtarlarını (id_ed25519 ve id_ed25519.pub) oluşturmak için şunu çalıştırın:
ssh-keygen -t ed25519Yardımcı program, geçerli kullanıcının profil dizininde (%USERPROFILE%\.ssh) iki dosya oluşturur:
id_rsa - özel anahtar
id_rsa.pub - genel (açık) anahtar
Anahtar oluşturmak için Puttygen aracını kullanıyorsanız, bunları OpenSSH formatında dışa aktarmanız gerekecektir.
Ortak anahtarı (id_rsa.pub) bilgisayarınızdan VMware ESXi ana bilgisayarına kopyalayın. Bu anahtar dosyaya eklenmelidir
/etc/ssh/keys-$USER/authorized_keys. Bu, kök kullanıcı için bir anahtarsa, dosyanın yolu aşağıdaki gibi olacaktır:
/etc/ssh/keys-root/authorized_keysSSH kullanarak ESXi sunucusuna bağlanın.
Dosyayı manuel olarak düzenleyebilir (bir dosyada birden fazla anahtarı saklayabilirsiniz) veya PowerShell komutunu kullanarak ESXi sunucusuna ekleyebilirsiniz:
cat c:\users\admin\.ssh\id_rsa.pub | ssh root@192.168.18.38 'cat >> /etc/ssh/keys-root/authorized_keys'
/etc/ssh/sshd_config dosyası, ESXi ana bilgisayarındaki OpenSSH sunucusunu içerir.
Kök erişimini etkinleştirmek veya devre dışı bırakmak için bu seçeneği kullanın:
PermitRootLogin yesSSH parolasıyla oturum açma işlemlerini kapatın:
ChallengeResponseAuthentication no # deprecated
KbdInteractiveAuthentication no
PasswordAuthentication noESXi'de SSH sunucusunu yeniden başlatın:
# /etc/init.d/SSH restartAçık SSH anahtarlarını ESXi ana bilgisayarlarına dağıtmak için VMware Ana Bilgisayar Profillerini de kullanabilirsiniz (Güvenlik Yapılandırması -> Kök kullanıcı için SSH yetkili anahtarı -> Genel anahtar ekle)
Artık özel anahtarı kullanarak ESXi ana bilgisayarına şifre olmadan bağlanabilirsiniz. Ssh-agent'ın etkin olduğu Windows bilgisayarlarda, ana bilgisayara bağlanırken kullanıcı profilindeki özel anahtar otomatik olarak kullanılır:
ssh root@192.168.15.38
Özel anahtarın yolunu belirtmek için -i parametresini de kullanabilirsiniz:
ssh root@192.168.15.38 -i "C:\Users\administrator\.ssh\id_rsa"Artık ESXi konsolundaki herhangi bir komutu uzaktan çalıştırabilirsiniz. Örneğin, belirli bir sanal makineyi kapatın:
ssh root@192.168.15.38 vim-cmd vmsvc/power.shutdown VMID



