ngrok.SshHostCertificate
Explore with Pulumi AI
SSH Host Certificates along with the corresponding private key allows an SSH server to assert its authenticity to connecting SSH clients who trust the SSH Certificate Authority that was used to sign the certificate.
Example Usage
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ngrok = PiersKarsenbarg.Ngrok;
return await Deployment.RunAsync(() =>
{
var example = new Ngrok.SshHostCertificate("example", new()
{
Description = "personal server",
Principals = new[]
{
"inconshreveable.com",
"10.2.42.9",
},
PublicKey = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+Cgk= inconshreveable.com",
SshCertificateAuthorityId = "sshca_25auH7sr0BYJFNyfJUwXPzyyFAz",
ValidUntil = "2022-05-26T08:23:47Z",
});
});
package main
import (
"github.com/pulumi/pulumi-ngrok/sdk/go/ngrok"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ngrok.NewSshHostCertificate(ctx, "example", &ngrok.SshHostCertificateArgs{
Description: pulumi.String("personal server"),
Principals: pulumi.StringArray{
pulumi.String("inconshreveable.com"),
pulumi.String("10.2.42.9"),
},
PublicKey: pulumi.String("ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+Cgk= inconshreveable.com"),
SshCertificateAuthorityId: pulumi.String("sshca_25auH7sr0BYJFNyfJUwXPzyyFAz"),
ValidUntil: pulumi.String("2022-05-26T08:23:47Z"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ngrok.SshHostCertificate;
import com.pulumi.ngrok.SshHostCertificateArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new SshHostCertificate("example", SshHostCertificateArgs.builder()
.description("personal server")
.principals(
"inconshreveable.com",
"10.2.42.9")
.publicKey("ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+Cgk= inconshreveable.com")
.sshCertificateAuthorityId("sshca_25auH7sr0BYJFNyfJUwXPzyyFAz")
.validUntil("2022-05-26T08:23:47Z")
.build());
}
}
import pulumi
import pierskarsenbarg_pulumi_ngrok as ngrok
example = ngrok.SshHostCertificate("example",
description="personal server",
principals=[
"inconshreveable.com",
"10.2.42.9",
],
public_key="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+Cgk= inconshreveable.com",
ssh_certificate_authority_id="sshca_25auH7sr0BYJFNyfJUwXPzyyFAz",
valid_until="2022-05-26T08:23:47Z")
import * as pulumi from "@pulumi/pulumi";
import * as ngrok from "@pierskarsenbarg/ngrok";
const example = new ngrok.SshHostCertificate("example", {
description: "personal server",
principals: [
"inconshreveable.com",
"10.2.42.9",
],
publicKey: "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+Cgk= inconshreveable.com",
sshCertificateAuthorityId: "sshca_25auH7sr0BYJFNyfJUwXPzyyFAz",
validUntil: "2022-05-26T08:23:47Z",
});
resources:
example:
type: ngrok:SshHostCertificate
properties:
description: personal server
principals:
- inconshreveable.com
- 10.2.42.9
publicKey: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+Cgk= inconshreveable.com
sshCertificateAuthorityId: sshca_25auH7sr0BYJFNyfJUwXPzyyFAz
validUntil: 2022-05-26T08:23:47Z
Create SshHostCertificate Resource
new SshHostCertificate(name: string, args: SshHostCertificateArgs, opts?: CustomResourceOptions);
@overload
def SshHostCertificate(resource_name: str,
opts: Optional[ResourceOptions] = None,
certificate: Optional[str] = None,
description: Optional[str] = None,
key_type: Optional[str] = None,
metadata: Optional[str] = None,
principals: Optional[Sequence[str]] = None,
public_key: Optional[str] = None,
ssh_certificate_authority_id: Optional[str] = None,
valid_after: Optional[str] = None,
valid_until: Optional[str] = None)
@overload
def SshHostCertificate(resource_name: str,
args: SshHostCertificateArgs,
opts: Optional[ResourceOptions] = None)
func NewSshHostCertificate(ctx *Context, name string, args SshHostCertificateArgs, opts ...ResourceOption) (*SshHostCertificate, error)
public SshHostCertificate(string name, SshHostCertificateArgs args, CustomResourceOptions? opts = null)
public SshHostCertificate(String name, SshHostCertificateArgs args)
public SshHostCertificate(String name, SshHostCertificateArgs args, CustomResourceOptions options)
type: ngrok:SshHostCertificate
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SshHostCertificateArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args SshHostCertificateArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args SshHostCertificateArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SshHostCertificateArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SshHostCertificateArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
SshHostCertificate Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The SshHostCertificate resource accepts the following input properties:
- Public
Key string a public key in OpenSSH Authorized Keys format that this certificate signs
- string
the ssh certificate authority that is used to sign this ssh host certificate
- Certificate string
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- Description string
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- Key
Type string the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- Metadata string
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- Principals List<string>
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- Valid
After string the time when the ssh host certificate becomes valid, in RFC 3339 format.
- Valid
Until string the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- Public
Key string a public key in OpenSSH Authorized Keys format that this certificate signs
- string
the ssh certificate authority that is used to sign this ssh host certificate
- Certificate string
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- Description string
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- Key
Type string the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- Metadata string
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- Principals []string
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- Valid
After string the time when the ssh host certificate becomes valid, in RFC 3339 format.
- Valid
Until string the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- public
Key String a public key in OpenSSH Authorized Keys format that this certificate signs
- String
the ssh certificate authority that is used to sign this ssh host certificate
- certificate String
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- description String
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- key
Type String the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- metadata String
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- principals List<String>
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- valid
After String the time when the ssh host certificate becomes valid, in RFC 3339 format.
- valid
Until String the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- public
Key string a public key in OpenSSH Authorized Keys format that this certificate signs
- string
the ssh certificate authority that is used to sign this ssh host certificate
- certificate string
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- description string
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- key
Type string the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- metadata string
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- principals string[]
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- valid
After string the time when the ssh host certificate becomes valid, in RFC 3339 format.
- valid
Until string the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- public_
key str a public key in OpenSSH Authorized Keys format that this certificate signs
- str
the ssh certificate authority that is used to sign this ssh host certificate
- certificate str
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- description str
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- key_
type str the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- metadata str
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- principals Sequence[str]
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- valid_
after str the time when the ssh host certificate becomes valid, in RFC 3339 format.
- valid_
until str the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- public
Key String a public key in OpenSSH Authorized Keys format that this certificate signs
- String
the ssh certificate authority that is used to sign this ssh host certificate
- certificate String
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- description String
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- key
Type String the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- metadata String
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- principals List<String>
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- valid
After String the time when the ssh host certificate becomes valid, in RFC 3339 format.
- valid
Until String the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
Outputs
All input properties are implicitly available as output properties. Additionally, the SshHostCertificate resource produces the following output properties:
- Id string
The provider-assigned unique ID for this managed resource.
- Id string
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
- id string
The provider-assigned unique ID for this managed resource.
- id str
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
Look up Existing SshHostCertificate Resource
Get an existing SshHostCertificate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: SshHostCertificateState, opts?: CustomResourceOptions): SshHostCertificate
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
certificate: Optional[str] = None,
description: Optional[str] = None,
key_type: Optional[str] = None,
metadata: Optional[str] = None,
principals: Optional[Sequence[str]] = None,
public_key: Optional[str] = None,
ssh_certificate_authority_id: Optional[str] = None,
valid_after: Optional[str] = None,
valid_until: Optional[str] = None) -> SshHostCertificate
func GetSshHostCertificate(ctx *Context, name string, id IDInput, state *SshHostCertificateState, opts ...ResourceOption) (*SshHostCertificate, error)
public static SshHostCertificate Get(string name, Input<string> id, SshHostCertificateState? state, CustomResourceOptions? opts = null)
public static SshHostCertificate get(String name, Output<String> id, SshHostCertificateState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Certificate string
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- Description string
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- Key
Type string the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- Metadata string
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- Principals List<string>
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- Public
Key string a public key in OpenSSH Authorized Keys format that this certificate signs
- string
the ssh certificate authority that is used to sign this ssh host certificate
- Valid
After string the time when the ssh host certificate becomes valid, in RFC 3339 format.
- Valid
Until string the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- Certificate string
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- Description string
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- Key
Type string the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- Metadata string
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- Principals []string
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- Public
Key string a public key in OpenSSH Authorized Keys format that this certificate signs
- string
the ssh certificate authority that is used to sign this ssh host certificate
- Valid
After string the time when the ssh host certificate becomes valid, in RFC 3339 format.
- Valid
Until string the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- certificate String
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- description String
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- key
Type String the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- metadata String
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- principals List<String>
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- public
Key String a public key in OpenSSH Authorized Keys format that this certificate signs
- String
the ssh certificate authority that is used to sign this ssh host certificate
- valid
After String the time when the ssh host certificate becomes valid, in RFC 3339 format.
- valid
Until String the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- certificate string
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- description string
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- key
Type string the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- metadata string
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- principals string[]
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- public
Key string a public key in OpenSSH Authorized Keys format that this certificate signs
- string
the ssh certificate authority that is used to sign this ssh host certificate
- valid
After string the time when the ssh host certificate becomes valid, in RFC 3339 format.
- valid
Until string the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- certificate str
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- description str
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- key_
type str the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- metadata str
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- principals Sequence[str]
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- public_
key str a public key in OpenSSH Authorized Keys format that this certificate signs
- str
the ssh certificate authority that is used to sign this ssh host certificate
- valid_
after str the time when the ssh host certificate becomes valid, in RFC 3339 format.
- valid_
until str the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
- certificate String
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pub
certificate file on disk that should be referenced in yoursshd_config
configuration file with aHostCertificate
directive- description String
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- key
Type String the key type of the
public_key
, one ofrsa
,ecdsa
ored25519
- metadata String
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- principals List<String>
the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
- public
Key String a public key in OpenSSH Authorized Keys format that this certificate signs
- String
the ssh certificate authority that is used to sign this ssh host certificate
- valid
After String the time when the ssh host certificate becomes valid, in RFC 3339 format.
- valid
Until String the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before
.
Package Details
- Repository
- ngrok pierskarsenbarg/pulumi-ngrok
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
ngrok
Terraform Provider.