1

创建虚拟机 ssh 公钥

我正在尝试使用 azure java SDK 以编程方式使用 ssh 公钥创建虚拟机。我看到了create vm 示例,我们可以看到:

request.getOsProfile().setAdminUsername(adminUsername);
request.getOsProfile().setAdminPassword(adminPassword);

我的问题是 - 我应该为这个 OsProfile 设置什么以便使用附加图像中的 SSH 公钥创建一个 VM?

4

2 回答 2

2

您可以将LinuxConfiguration属性设置在OSProfile. 这是示例代码:

// Set up SSH public key
String fullStorePath = " ~/.ssh/authorized_keys";
String sshKeyData = "you-ssh-key-data";

SshPublicKey sshPublicKey = new SshPublicKey();
sshPublicKey.setPath(fullStorePath);
sshPublicKey.setKeyData(sshKeyData);

// SShConfiguration
ArrayList<SshPublicKey> keyList = new ArrayList<SshPublicKey>();
keyList.add(sshPublicKey);

SshConfiguration sshConfig = new SshConfiguration();
sshconfig.setPublicKeys(keyList);

// Linux Configuration
Bool shouldDisablePasswordAuthentication = False;
LinuxConfiguration linuxConfig = new LinuxConfiguration();
linuxConfig.setSsh(sshConfig);
linuxConfig.setDisablePasswordAuthentication(shouldDisablePasswordAuthentication);

// set your OSProfile now
request.getOsProfile().setLinuxConfiguration(linuxConfig);

// you code goes here
于 2016-05-30T09:25:43.050 回答
1

根据linuxConfigurationREST API 的请求 json 正文的属性Create or update a VM,正如@Steven 所说,设置SshConfiguration& LinuxConfigurationfor是正确且非常好的OSProfile

感谢史蒂文的分享。

于 2016-05-31T09:18:57.423 回答