我试图通过使用 azure-sdk-for-python 在 Windows Azure 上部署 Linux VM。幸运的是,我能够使用基于密码的身份验证配置 VM,但未能成功使用 SSH 密钥。谁能解释我如何通过 azure-sdk-for-python 配置 ssh 登录?
我在这里找到了使用 ssh 密钥创建 linux vm 的测试代码:(请参阅 _create_vm_linux() 函数) https://github.com/WindowsAzure/azure-sdk-for-python/blob/master/test/azuretest/test_servicemanagementservice .py (这可能不是一个正确的例子,因为它正在测试中,但我想它至少可以工作。)似乎 LinuxConfigurationSet(self, host_name=None, user_name=None, user_password=None, disable_ssh_password_authentication=None) 准备使用 user_name 进行身份验证, user_password 和 ssh。此外,看起来 PublicKey 和 KeyPair 类用于使用密钥配置 SSH 登录。但是,我不清楚这些设置的用法。我想我必须询问有关测试代码的详细信息。
对于 PublicKey,我假设第一个参数是服务管理证书的指纹,第二个参数是 SSH 公钥的本地路径。
pk = PublicKey(SERVICE_CERT_THUMBPRINT, u'/home/unittest/.ssh/authorized_keys')
对于 KeyPair,我假设第一个参数与 PublicKey 相同,第二个参数是 SSH 私钥的本地路径。(我不确定为什么这里需要私钥)
pair = KeyPair(SERVICE_CERT_THUMBPRINT, u'/home/unittest/.ssh/id_rsa')
并且密钥对是 x509 证书。
我尝试了这些行,但未能部署 VM。我想我误解了函数的使用。有什么帮助吗?