選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

設定SFTP連接器

焦點模式
設定SFTP連接器 - AWS Transfer Family

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本主題說明如何建立SFTP連接器、與其相關聯的安全演算法、如何儲存秘密以保存憑證、有關格式化私有金鑰的詳細資訊,以及測試連接器的指示。

建立SFTP連接器

此程序說明如何使用 AWS Transfer Family 主控台或 建立SFTP連接器 AWS CLI。

Console
若要建立SFTP連接器
  1. 在 開啟 AWS Transfer Family 主控台https://console.aws.amazon.com/transfer/

  2. 在左側導覽窗格中,選擇 連接器 ,然後選擇建立連接器

  3. 選擇SFTP連接器類型以建立SFTP連接器,然後選擇下一步。

    Transfer Family 主控台會顯示建立連接器頁面,您可以在其中選擇連接器類型。SFTP 已選取 。
  4. 連接器組態區段中,提供下列資訊:

    • 針對 URL,輸入URL遠端SFTP伺服器的 。這URL必須格式化為 sftp://partner-SFTP-server-url,例如 sftp://AnyCompany.com

      注意

      或者,您可以在 中提供連接埠號碼URL。格式是 sftp://partner-SFTP-server-url:port-number。預設連接埠號碼 (未指定連接埠時) 為連接埠 22。

    • 針對存取角色 ,選擇要使用的 (ARN) 角色的 Amazon Resource Name AWS Identity and Access Management (IAM)。

      • 請確定此角色提供對請求中使用的檔案位置之父目錄的讀取和寫入存取權StartFileTransfer

      • 請確定此角色提供 存取秘密的許可secretsmanager:GetSecretValue

        注意

        在 政策中,您必須ARN為秘密指定 。ARN 包含秘密名稱,但以六個隨機英數字元附加名稱。機密ARN的 具有下列格式。

        arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
      • 請確定此角色包含信任關係,允許連接器在為使用者的傳輸請求提供服務時存取您的資源。如需建立信任關係的詳細資訊,請參閱 建立信任關係

      下列範例授予必要許可,以存取 DOC-EXAMPLE-BUCKET 在 Amazon S3 中,以及存放在 Secrets Manager 中的指定秘密。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
      注意

      對於存取角色,範例會授予單一秘密的存取權。不過,您可以使用萬用字元,如果想要將相同IAM角色重複使用給多個使用者和秘密,則可以儲存工作。例如,下列資源陳述式會針對名稱開頭為 的所有秘密授予許可aws/transfer

      "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

      您也可以將包含SFTP憑證的秘密存放在另一個 中 AWS 帳戶。如需啟用跨帳戶秘密存取的詳細資訊,請參閱不同帳戶中使用者的 AWS Secrets Manager 秘密許可。

    • (選用) 針對記錄角色 ,選擇連接器用來將事件推送至 CloudWatch 日誌IAM的角色。下列範例政策會列出記錄SFTP連接器事件的必要許可。

      { "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
  5. SFTP組態區段中,提供下列資訊:

    • 對於 Connector 憑證 ,從下拉式清單中選擇 中 AWS Secrets Manager 包含SFTP使用者私有金鑰或密碼的秘密名稱。您必須建立秘密,並以特定方式存放。如需詳細資訊,請參閱 儲存要與SFTP連接器搭配使用的秘密

    • 信任的主機金鑰 – 貼到用來識別外部伺服器的主機金鑰公有部分。您可以選擇新增受信任的主機金鑰來新增其他金鑰,以新增多個金鑰。您可以針對SFTP伺服器使用 ssh-keyscan命令來擷取必要的金鑰。如需有關 Transfer Family 支援的受信任主機金鑰格式和類型的詳細資訊,請參閱 SFTPConnectorConfig.

  6. (選用) 在標籤區段中,針對金鑰,輸入一或多個標籤作為鍵值對。

  7. 確認所有設定後,請選擇建立連接器以建立SFTP連接器。如果成功建立連接器,會出現一個畫面,其中包含指派的靜態 IP 地址清單和測試連線按鈕。使用 按鈕來測試新連接器的組態。

    成功建立連接器時出現的SFTP連接器建立畫面。它包含一個用於測試連線的按鈕,以及此連接器的服務管理靜態 IP 地址清單。

隨即出現 連接器頁面,並將新SFTP連接器的 ID 新增至清單。若要檢視連接器的詳細資訊,請參閱 檢視SFTP連接器詳細資訊

CLI

您可以使用 create-connector 命令來建立連接器。若要使用此命令建立SFTP連接器,您必須提供下列資訊。

  • URL 適用於遠端SFTP伺服器的 。這URL必須格式化為 sftp://partner-SFTP-server-url,例如 sftp://AnyCompany.com

  • 存取角色。選擇要使用的 (ARN) 角色的 Amazon Resource Name AWS Identity and Access Management (IAM)。

    • 請確定此角色提供對請求中所用檔案位置之父目錄的讀取和寫入存取權StartFileTransfer

    • 請確定此角色提供 存取秘密的許可secretsmanager:GetSecretValue

      注意

      在 政策中,您必須ARN為秘密指定 。ARN 包含秘密名稱,但以六個隨機英數字元附加名稱。機密ARN的 具有下列格式。

      arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
    • 請確定此角色包含信任關係,允許連接器在為使用者的傳輸請求提供服務時存取您的資源。如需建立信任關係的詳細資訊,請參閱 建立信任關係

    下列範例授予必要許可,以存取 DOC-EXAMPLE-BUCKET 在 Amazon S3 中,以及存放在 Secrets Manager 中的指定秘密。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
    注意

    對於存取角色,範例會授予單一秘密的存取權。不過,您可以使用萬用字元,如果想要將相同IAM角色重複使用給多個使用者和秘密,則可以儲存工作。例如,下列資源陳述式會針對名稱開頭為 的所有秘密授予許可aws/transfer

    "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

    您也可以將包含SFTP憑證的秘密存放在另一個 中 AWS 帳戶。如需啟用跨帳戶秘密存取的詳細資訊,請參閱不同帳戶中使用者的 AWS Secrets Manager 秘密許可。

  • (選用) 選擇要用來將事件推送至 CloudWatch 日誌的連接器IAM角色。下列範例政策會列出記錄SFTP連接器事件的必要許可。

    { "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
  • 提供下列SFTP組態資訊。

    • 在 中 AWS Secrets Manager 包含SFTP使用者私有金鑰或密碼的秘密 ARN 。

    • 主機金鑰的公有部分,用於識別外部伺服器。您可以視需要提供多個信任的主機金鑰。

    提供資訊最簡單的方法是將SFTP資訊儲存到檔案中。例如,將下列範例文字複製到名為 的檔案testSFTPConfig.json

    // Listing for testSFTPConfig.json { "UserSecretId": "arn:aws::secretsmanager:us-east-2:123456789012:secret:aws/transfer/example-username-key", "TrustedHostKeys": [ "sftp.example.com ssh-rsa AAAAbbbb...EEEE=" ] }
注意

SecretId 可以是整個 ARN或秘密的名稱 (example-username-key 在上一個清單中)。

然後執行下列命令來建立連接器。

aws transfer create-connector --url "sftp://partner-SFTP-server-url" \ --access-role your-IAM-role-for-bucket-access \ --logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \ --sftp-config file:///path/to/testSFTPConfig.json
若要建立SFTP連接器
  1. 在 開啟 AWS Transfer Family 主控台https://console.aws.amazon.com/transfer/

  2. 在左側導覽窗格中,選擇 連接器 ,然後選擇建立連接器

  3. 選擇SFTP連接器類型以建立SFTP連接器,然後選擇下一步。

    Transfer Family 主控台會顯示建立連接器頁面,您可以在其中選擇連接器類型。SFTP 已選取 。
  4. 連接器組態區段中,提供下列資訊:

    • 針對 URL,輸入URL遠端SFTP伺服器的 。這URL必須格式化為 sftp://partner-SFTP-server-url,例如 sftp://AnyCompany.com

      注意

      或者,您可以在 中提供連接埠號碼URL。格式是 sftp://partner-SFTP-server-url:port-number。預設連接埠號碼 (未指定連接埠時) 為連接埠 22。

    • 針對存取角色 ,選擇要使用的 (ARN) 角色的 Amazon Resource Name AWS Identity and Access Management (IAM)。

      • 請確定此角色提供對請求中使用的檔案位置之父目錄的讀取和寫入存取權StartFileTransfer

      • 請確定此角色提供 存取秘密的許可secretsmanager:GetSecretValue

        注意

        在 政策中,您必須ARN為秘密指定 。ARN 包含秘密名稱,但以六個隨機英數字元附加名稱。機密ARN的 具有下列格式。

        arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
      • 請確定此角色包含信任關係,允許連接器在為使用者的傳輸請求提供服務時存取您的資源。如需建立信任關係的詳細資訊,請參閱 建立信任關係

      下列範例授予必要許可,以存取 DOC-EXAMPLE-BUCKET 在 Amazon S3 中,以及存放在 Secrets Manager 中的指定秘密。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
      注意

      對於存取角色,範例會授予單一秘密的存取權。不過,您可以使用萬用字元,如果想要將相同IAM角色重複使用給多個使用者和秘密,則可以儲存工作。例如,下列資源陳述式會針對名稱開頭為 的所有秘密授予許可aws/transfer

      "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

      您也可以將包含SFTP憑證的秘密存放在另一個 中 AWS 帳戶。如需啟用跨帳戶秘密存取的詳細資訊,請參閱不同帳戶中使用者的 AWS Secrets Manager 秘密許可。

    • (選用) 針對記錄角色 ,選擇連接器用來將事件推送至 CloudWatch 日誌IAM的角色。下列範例政策會列出記錄SFTP連接器事件的必要許可。

      { "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
  5. SFTP組態區段中,提供下列資訊:

    • 對於 Connector 憑證 ,從下拉式清單中選擇 中 AWS Secrets Manager 包含SFTP使用者私有金鑰或密碼的秘密名稱。您必須建立秘密,並以特定方式存放。如需詳細資訊,請參閱 儲存要與SFTP連接器搭配使用的秘密

    • 信任的主機金鑰 – 貼到用來識別外部伺服器的主機金鑰公有部分。您可以選擇新增受信任的主機金鑰來新增其他金鑰,以新增多個金鑰。您可以針對SFTP伺服器使用 ssh-keyscan命令來擷取必要的金鑰。如需有關 Transfer Family 支援的受信任主機金鑰格式和類型的詳細資訊,請參閱 SFTPConnectorConfig.

  6. (選用) 在標籤區段中,針對金鑰,輸入一或多個標籤作為鍵值對。

  7. 確認所有設定後,請選擇建立連接器以建立SFTP連接器。如果成功建立連接器,會出現一個畫面,其中包含指派的靜態 IP 地址清單和測試連線按鈕。使用 按鈕來測試新連接器的組態。

    成功建立連接器時出現的SFTP連接器建立畫面。它包含一個用於測試連線的按鈕,以及此連接器的服務管理靜態 IP 地址清單。

隨即出現 連接器頁面,並將新SFTP連接器的 ID 新增至清單。若要檢視連接器的詳細資訊,請參閱 檢視SFTP連接器詳細資訊

SFTP 連接器演算法

當您建立SFTP連接器時,下列安全演算法會連接至連接器。

Type 演算法
SSH 密碼

aes256-gcm@openssh.com

aes128-gcm@openssh.com

aes256-ctr

aes192-ctr

SSH 金鑰交換方法 (KEX)

curve25519-sha256

curve25519-sha256@libssh.org

diffie-hellman-group16-sha512

diffie-hellman-group18-sha512

diffie-hellman-group-exchange-sha256

SSH MAC

hmac-sha2-512-etm@openssh.com

hmac-sha2-256-etm@openssh.com

hmac-sha2-512

hmac-sha2-256

SSH 主機金鑰

ecdsa-sha2-nistp256

ecdsa-sha2-nistp384

ecdsa-sha2-nistp521

rsa-sha2-512

rsa-sha2-256

儲存要與SFTP連接器搭配使用的秘密

您可以使用 Secrets Manager 來儲存SFTP連接器的使用者憑證。建立秘密時,您必須提供使用者名稱。此外,您可以提供密碼、私有金鑰或兩者。如需詳細資訊,請參閱 SFTP 連接器配額

注意

當您將秘密存放在 Secrets Manager 時, AWS 帳戶 會產生費用。如需定價的資訊,請參閱 AWS Secrets Manager 定價

在 Secrets Manager 中存放SFTP連接器的使用者憑證
  1. 登入 AWS Management Console 並在 開啟 AWS Secrets Manager 主控台https://console.aws.amazon.com/secretsmanager/

  2. 在左側導覽窗格中,選擇秘密

  3. 秘密頁面上,選擇儲存新的秘密

  4. 選擇秘密類型頁面上,針對秘密類型 ,選擇其他類型的秘密

  5. 金鑰/值對區段中,選擇金鑰/值索引標籤。

    • 金鑰 – 輸入 Username

    • – 輸入授權連線至合作夥伴伺服器之使用者名稱。

  6. 如果您想要提供密碼,請選擇新增列 ,然後在鍵/值對區段中選擇鍵/值索引標籤。

    選擇新增列 ,然後在鍵/值對區段中,選擇鍵/值索引標籤。

    • 金鑰 – 輸入 Password

    • – 輸入使用者的密碼。

  7. 如果您想要提供私有金鑰,請參閱 產生並格式化SFTP連接器私有金鑰,其中說明如何輸入私有金鑰資料。

    注意

    您輸入的私有金鑰資料必須與遠端SFTP伺服器中為此使用者儲存的公有金鑰相對應。

  8. 選擇 Next (下一步)

  9. 設定秘密頁面上,輸入秘密的名稱和描述。我們建議您使用 的字首aws/transfer/做為名稱。例如,您可以命名秘密 aws/transfer/connector-1

  10. 選擇下一個 ,然後在設定輪換頁面上接受預設值。然後選擇下一步

  11. 檢閱頁面上,選擇儲存以建立和儲存秘密。

產生並格式化SFTP連接器私有金鑰

有關產生公有/私有金鑰對的完整詳細資訊,請參閱 。 在 macOS 、Linux 或 Unix 上建立SSH金鑰

例如,若要產生用於SFTP連接器的私有金鑰,下列範例命令會產生正確的金鑰類型 (取代 key_name 使用金鑰對的實際檔案名稱):

ssh-keygen -t rsa -b 4096 -m PEM -f key_name -N ""
注意

當您建立要與SFTP連接器搭配使用的金鑰對時,請勿使用密碼片語。SFTP 組態必須具有空密碼才能正常運作。

此命令會建立RSA金鑰對,金鑰大小為 4096 位元。金鑰會以舊版PEM格式產生,這是 Transfer Family 與SFTP連接器秘密搭配使用的必要項目。金鑰會儲存在目前目錄中的 key_name(私有金鑰) 和 key_name.pub(公有金鑰) 中:即您執行ssh-keygen命令的目錄。

注意

Transfer Family 不支援用於SFTP連接器之金鑰的 OpenSSH 格式 (-----BEGIN OPENSSH PRIVATE KEY-----)。金鑰必須是舊版PEM格式 (-----BEGIN RSA PRIVATE KEY----------BEGIN EC PRIVATE KEY----- )。您可以在執行 命令時提供 -m PEM選項,藉此使用 ssh-keygen工具來轉換金鑰。

產生金鑰後,您必須確定私有金鑰已格式化為內嵌的新行字元 ("\n") JSON 格式。

使用 命令將現有的私有金鑰轉換為正確的格式 —JSON 格式,其中包含內嵌的新行字元。此處提供 jq和 Powershell 的範例。您可以使用任何工具或命令,將私有金鑰轉換為內嵌新行字元的JSON格式。

jq command

此範例使用 jq命令,可從 Download jq 下載。

jq -sR . path-to-private-key-file

例如,如果您的私有金鑰檔案位於 中~/.ssh/my_private_key,則命令如下所示。

jq -sR . ~/.ssh/my_private_key

這會以正確的格式 (包含內嵌的新行字元) 將金鑰輸出至標準輸出。

PowerShell

如果您使用的是 Windows,您可以使用 將金鑰 PowerShell 轉換為正確的格式。下列 Powershell 命令會將私有金鑰轉換為正確的格式。

Get-Content -Raw path-to-private-key-file | ConvertTo-Json

此範例使用 jq命令,可從 Download jq 下載。

jq -sR . path-to-private-key-file

例如,如果您的私有金鑰檔案位於 中~/.ssh/my_private_key,則命令如下所示。

jq -sR . ~/.ssh/my_private_key

這會以正確的格式 (包含內嵌的新行字元) 將金鑰輸出至標準輸出。

將私有金鑰資料新增至秘密,以搭配SFTP連接器使用
  1. 在 Secrets Manager 主控台中,儲存其他類型的 Secret 時,選擇純文字索引標籤。文字應該是空的,只有開啟和關閉支架 {}。

  2. 使用下列格式貼入您的使用者名稱、私有金鑰資料和/或密碼。針對私有金鑰資料,請從您在步驟 1 中執行的命令貼上輸出。

    {"Username":"SFTP-USER","Password":"SFTP-USER-PASSWORD","PrivateKey":"PASTE-PRIVATE-KEY-DATA-HERE"}
    純文字中的秘密,顯示範例文字。

    如果您正確貼上私有金鑰資料,您應該會在選取金鑰/值索引標籤時看到以下內容。請注意,私有金鑰資料會顯示 line-by-line,而不是連續字串。

    在金鑰/值索引標籤中顯示詳細資訊的秘密。
  3. 繼續儲存要與SFTP連接器搭配使用的秘密步驟 8 中的程序,並遵循該程序直至結束。

測試SFTP連接器

建立SFTP連接器後,建議您先測試連接器,然後再嘗試使用新連接器傳輸任何檔案。

測試SFTP連接器
  1. 在 開啟 AWS Transfer Family 主控台https://console.aws.amazon.com/transfer/

  2. 在左側導覽窗格中,選擇連接器 ,然後選擇連接器。

  3. 動作功能表中,選擇測試連線

    Transfer Family 主控台,顯示選取的SFTP連接器,以及反白顯示的測試連線測試連線動作。

系統會傳回訊息,指出測試是否通過或失敗。如果測試失敗,系統會根據測試失敗的原因提供錯誤訊息。

SFTP 連接器測試連線面板,顯示成功的測試。
SFTP 連接器測試連線面板顯示失敗測試:錯誤訊息指出連接器的存取角色不正確。
注意

若要使用 API測試連接器,請參閱 TestConnection API 文件。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。