我试图以编程方式创建一个虚拟机使用蔚蓝的Java SDK SSH公钥VM。 只见create vm example而且我们可以看到:
request.getOsProfile().setAdminUsername(adminUsername);
request.getOsProfile().setAdminPassword(adminPassword);
我的问题是 - 我应该怎样才能创建一个虚拟机从附加图像的SSH公共密钥设置为这个OsProfile?
我试图以编程方式创建一个虚拟机使用蔚蓝的Java SDK SSH公钥VM。 只见create vm example而且我们可以看到:
request.getOsProfile().setAdminUsername(adminUsername);
request.getOsProfile().setAdminPassword(adminPassword);
我的问题是 - 我应该怎样才能创建一个虚拟机从附加图像的SSH公共密钥设置为这个OsProfile?
您可以在OSProfile
中设置LinuxConfiguration
属性。下面是示例代码:
// 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
根据请求JSON体的特性linuxConfiguration
的REST API Create or update a VM
,如@Steven说,这是正确的,伟大的为OSProfile
设置SshConfiguration
& LinuxConfiguration
。
感谢Steven的分享。