SFTP Host Keys

An SFTP Host Key is a cryptographic key used to verify the identity of the server during an SFTP connection. This allows the client to be sure that it is connecting to the intended server, preventing man-in-the-middle attacks and ensuring secure communication between the client and Files.com.

Files.com allows you to provide custom SFTP Host Keys, which is particularly useful when migrating to Files.com from an existing SFTP server, allowing the Files.com platform to match your previously-installed host key for a seamless transition.

List SFTP Host Keys

SDK Method

Files::SftpHostKey.list

Return Object

List<SftpHostKey>

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Additional Arguments

Example Request

begin
  sftp_host_keys = Files::SftpHostKey.list
  sftp_host_keys.auto_paging_each do |sftp_host_key|
    # Operate on sftp_host_key
  end
rescue Files::NotAuthenticatedError => e
  puts "Authentication Error Occurred (#{e.class.to_s}): " + e.message
rescue Files::Error => e
  puts "Unknown Error Occurred (#{e.class.to_s}): " + e.message
end

Show SFTP Host Key

SDK Method

Files::SftpHostKey.find

Return Object

SftpHostKey

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDescription
id
int64
Required
Sftp Host Key ID.

Example Request

begin
  sftp_host_key = Files::SftpHostKey.find(id)
  # Operate on sftp_host_key
rescue Files::NotAuthenticatedError => e
  puts "Authentication Error Occurred (#{e.class.to_s}): " + e.message
rescue Files::Error => e
  puts "Unknown Error Occurred (#{e.class.to_s}): " + e.message
end

Create SFTP Host Key

SDK Method

Files::SftpHostKey.create

Return Object

SftpHostKey

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDefaultDescription
active
boolean
falseIf true, use this SFTP Host Key.
name
string
The friendly name of this SFTP Host Key.
private_key
string
The private key data.

Example Request

begin
  sftp_host_key = Files::SftpHostKey.create(
    active: true
  )
  # Operate on sftp_host_key
rescue Files::NotAuthenticatedError => e
  puts "Authentication Error Occurred (#{e.class.to_s}): " + e.message
rescue Files::Error => e
  puts "Unknown Error Occurred (#{e.class.to_s}): " + e.message
end

Update SFTP Host Key

SDK Method

sftp_host_key.update

Return Object

SftpHostKey

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDescription
active
boolean
If true, use this SFTP Host Key.
name
string
The friendly name of this SFTP Host Key.
private_key
string
The private key data.

Example Request

begin
  # Find the sftp_host_key object by its id.
  sftp_host_key = Files::SftpHostKey.find(id)
  sftp_host_key.update(
    active: true
  )
rescue Files::NotAuthenticatedError => e
  puts "Authentication Error Occurred (#{e.class.to_s}): " + e.message
rescue Files::Error => e
  puts "Unknown Error Occurred (#{e.class.to_s}): " + e.message
end

Delete SFTP Host Key

SDK Method

sftp_host_key.delete

Return Object

nil

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Example Request

begin
  # Find the sftp_host_key object by its id.
  sftp_host_key = Files::SftpHostKey.find(id)
  sftp_host_key.delete
rescue Files::NotAuthenticatedError => e
  puts "Authentication Error Occurred (#{e.class.to_s}): " + e.message
rescue Files::Error => e
  puts "Unknown Error Occurred (#{e.class.to_s}): " + e.message
end

The SftpHostKey Object

Some of the methods above return a SftpHostKey object. The attributes of this object are listed below.

AttributeDescription
active
boolean
If true, use this SFTP Host Key.
id
int64
SFTP Host Key ID
name
string
The friendly name of this SFTP Host Key.
key_type
string
SSH key type
fingerprint_md5
string
MD5 Fingerprint of the public key
fingerprint_sha256
string
SHA256 Fingerprint of the public key