code: func ParseRawPrivateKey(pemBytes []byte) (interface{}, error) {
  	block, _ := pem.Decode(pemBytes)
  	if block == nil {
  		return nil, errors.New("ssh: no key found")
  	}
  
  	switch block.Type {
  	case "RSA PRIVATE KEY":
  		return x509.ParsePKCS1PrivateKey(block.Bytes)
  	case "EC PRIVATE KEY":
  		return x509.ParseECPrivateKey(block.Bytes)
  	case "DSA PRIVATE KEY":
  		return ParseDSAPrivateKey(block.Bytes)
  	default:
  		return nil, fmt.Errorf("ssh: unsupported key type %q", block.Type)
  	}
  }
docs: // ParseRawPrivateKey returns a private key from a PEM encoded private key. It
  // supports RSA (PKCS#1), DSA (OpenSSL), and ECDSA private keys.