Class KubeSshKey
Describes a client key used for SSH public key authentication.
Namespace: Neon.Kube.Config
Assembly: Neon.Kube.dll
Syntax
public class KubeSshKey
Remarks
note
Only RSA keys should be used in production. Other keys like DSA are no longer considered secure.
SSH authentication keys have two parts, the public key that needs to be deployed to every server machine and the private key that will be retained on client machines which will be used to sign authentication challenges by servers.
The PublicPUB property holds the public key. This key has a standard format can can be appended directly to the authorized_keys file on a Linux machine. PrivateOpenSSH holds the private key.
Passphrase is not currently used but eventually, this will enable an additional level of encryption at rest.
Properties
FingerprintMd5
MD5 fingerprint of the public key formatted as colon separated HEX bytes.
Declaration
[JsonProperty(PropertyName = "Fingerprint-MD5", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "fingerprint-MD5", ScalarStyle = ScalarStyle.Literal, ApplyNamingConventions = false)]
public string FingerprintMd5 { get; set; }
Property Value
Type | Description |
---|---|
string |
FingerprintSha256
SHA256 fingerprint of the public key formatted as base64.
Declaration
[JsonProperty(PropertyName = "Fingerprint-SHA256", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "fingerprint-SHA256", ScalarStyle = ScalarStyle.Literal, ApplyNamingConventions = false)]
public string FingerprintSha256 { get; set; }
Property Value
Type | Description |
---|---|
string |
Passphrase
Not Implemented Yet: The optional passphrase used for additional security.
Declaration
[JsonProperty(PropertyName = "Passphrase", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "passphrase", ApplyNamingConventions = false)]
public string Passphrase { get; set; }
Property Value
Type | Description |
---|---|
string |
PrivateOpenSSH
The private key formatted for OpenSSH.
Declaration
[JsonProperty(PropertyName = "PrivateOpenSSH", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "privateOpenSSH", ScalarStyle = ScalarStyle.Literal, ApplyNamingConventions = false)]
public string PrivateOpenSSH { get; set; }
Property Value
Type | Description |
---|---|
string |
PrivatePEM
The private key formatted for SSH2 as defined by RFC 4716.
Declaration
[JsonProperty(PropertyName = "PrivatePEM", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "privatePEM", ScalarStyle = ScalarStyle.Literal, ApplyNamingConventions = false)]
public string PrivatePEM { get; set; }
Property Value
Type | Description |
---|---|
string |
PublicOpenSSH
The RSA public key to deployed on the server for authenticating SSH clients. This is formatted for OpenSSH as generated by the Linux ssh-keygen tool.
Declaration
[JsonProperty(PropertyName = "PublicOpenSSH", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "publicOpenSSH", ScalarStyle = ScalarStyle.Literal, ApplyNamingConventions = false)]
public string PublicOpenSSH { get; set; }
Property Value
Type | Description |
---|---|
string |
PublicPUB
The RSA public key to deployed on the server for authenticating SSH clients. This is formatted as PUB format as generated by the Linux ssh-keygen tool.
Declaration
[JsonProperty(PropertyName = "PublicPUB", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "publicPUB", ScalarStyle = ScalarStyle.Literal, ApplyNamingConventions = false)]
public string PublicPUB { get; set; }
Property Value
Type | Description |
---|---|
string |
PublicSSH2
The RSA public key formatted as SSH2 as defined by RFC 4716.
Declaration
[JsonProperty(PropertyName = "PublicSSH2", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "publicSSH2", ScalarStyle = ScalarStyle.Literal, ApplyNamingConventions = false)]
public string PublicSSH2 { get; set; }
Property Value
Type | Description |
---|---|
string |