code: func generateKeyPair(private string) error {
  	out, err := exec.Command(
  		"ssh-keygen",
  		"-q",        // silence
  		"-t", "dsa", // type
  		"-b", "1024", // length in bits
  		"-f", private, // output file
  		"-N", "", // no passphrase
  	).Output()
  	if err != nil {
  		// out is in form of bytes buffer and we have to turn it into slice ending on first \0 occurrence
  		return fmt.Errorf("error in keygen time. ret_val: %v, output: %v", err, string(out[:]))
  	}
  	return nil
  }
docs: // generateKeyPair calls ssh-keygen with private key location for key generation purpose