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

SftpHostKey.list()

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.

Additional Arguments

Example Request

import SftpHostKey from 'files.com/lib/models/SftpHostKey';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const sftpHostKeys = await SftpHostKey.list();
  for (const sftpHostKey of sftpHostKeys) {
    // Operate on sftpHostKey
  }
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Show SFTP Host Key

SDK Method

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

import SftpHostKey from 'files.com/lib/models/SftpHostKey';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const sftpHostKey = await SftpHostKey.find(id);
  // Operate on sftpHostKey
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Create SFTP Host Key

SDK Method

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

import SftpHostKey from 'files.com/lib/models/SftpHostKey';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const sftpHostKey = await SftpHostKey.create({
    active: true,
  });
  // Operate on sftpHostKey
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Update SFTP Host Key

SDK Method

sftpHostKey.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

import SftpHostKey from 'files.com/lib/models/SftpHostKey';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  // Find the sftpHostKey object by its id.
  const sftpHostKey = await SftpHostKey.find(id);
  await sftpHostKey.update({
    active: true,
  });
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Delete SFTP Host Key

SDK Method

sftpHostKey.delete()

Return Object

No return value.

Authorization Requirement

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

Example Request

import SftpHostKey from 'files.com/lib/models/SftpHostKey';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  // Find the sftpHostKey object by its id.
  const sftpHostKey = await SftpHostKey.find(id);
  await sftpHostKey.delete();
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

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