code: func (d *Driver) generateSSHKey(ctx *azureutil.DeploymentContext) error {
  	privPath := d.GetSSHKeyPath()
  	pubPath := privPath + ".pub"
  
  	log.Debug("Creating SSH key...", logutil.Fields{
  		"pub":  pubPath,
  		"priv": privPath,
  	})
  
  	if err := ssh.GenerateSSHKey(privPath); err != nil {
  		return err
  	}
  	log.Debug("SSH key pair generated.")
  
  	publicKey, err := ioutil.ReadFile(pubPath)
  	ctx.SSHPublicKey = string(publicKey)
  	return err
  }
docs: // generateSSHKey creates a ssh key pair locally and saves the public key file
  // contents in OpenSSH format to the DeploymentContext.