java - Azure - 以编程方式使用 ssl 公钥创建虚拟机

标签 java azure azure-virtual-machine azure-java-sdk

Create VM ssh public key

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

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

我的问题是 - 我应该对此 OsProfile 设置什么,以便使用附加镜像中的 SSH 公钥创建虚拟机?

最佳答案

您可以在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

关于java - Azure - 以编程方式使用 ssl 公钥创建虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37521489/

相关文章:

azure - 在 Windows Azure 上,VM 角色和 vm 实例之间有区别吗?

java - 是什么导致 MongoDB/GridFS MD5 哈希不匹配?

java - JCR (JackRabbit) 查询返回空结果

azure - 使用 for_each 资源 block 中的资源 ID

java - Microsoft.WindowsAzure.Storage : No valid combination of account information found - Tried to edit conn string, 但不起作用

powershell - 禁止显示 Azure Stop-AzureRMVM cmdlet 警告消息框

java - netbeans 6.* 中的解析延迟

java - 当我尝试使用 setIcon 或 SetLogo 添加应用程序时,Android Studio 中的操作栏上缺少图标

azure - 为什么我的 Azure Active Directory 身份验证 token 不包含 MS Graph 的权限?

azure - 使用打包程序创建 Azure VM 镜像