> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SFTP Server 端口

> 知行之橋SFTP Server 端口的配置和使用指南，該端口用於定義向內建 SFTP 伺服器進行認證的用戶端配置檔案。

export const TrustedIp = () => <>
    <p><strong>可信 IP 地址</strong> 部分提供以下功能：</p>

    <table>
      <thead>
        <tr><th>功能</th><th>描述</th></tr>
      </thead>
      <tbody>
        <tr><td><strong>新增</strong></td><td>輸入新的 IP 地址範圍。</td></tr>
        <tr><td><strong>編輯</strong></td><td>修改選定的 IP 地址範圍。</td></tr>
        <tr><td><strong>刪除</strong></td><td>從清單中刪除選定的 IP 地址範圍。</td></tr>
      </tbody>
    </table>

    <p>以下限制適用於此功能：</p>

    <ul style={{
  listStyleType: 'disc',
  paddingLeft: '1.5rem'
}}>
      <li style={{
  display: 'list-item'
}}><code>localhost</code> 不能被修改或從清單中刪除。</li>
      <li style={{
  display: 'list-item'
}}>任何超出定義範圍的 IP 地址都將被拒絕。</li>
      <li style={{
  display: 'list-item'
}}>支援 IP 範圍。例如，項目 <code>100.10.100.1-15</code> 表示允許 <code>100.10.100.1</code> 和 <code>100.10.100.15</code> 之間的 IP 地址。</li>
      <li style={{
  display: 'list-item'
}}>支援無類別域間路由 (CIDR) 表示法。例如，項目 <code>100.10.100.0/24</code> 表示允許 <code>100.10.100.0</code> 和 <code>100.10.100.255</code> 之間的 IP 地址。</li>
      <li style={{
  display: 'list-item'
}}>支援萬用字元模式。例如，項目 <code>100.10.100.*</code> 表示允許以 <code>100.10.100</code> 開頭的 IP 地址。</li>
    </ul>

    <Note>
      <p>為了讓用戶端能夠存取伺服器，需要有清晰的網路路徑。在雲環境中，可能需要在三個地方進行更改：</p>
      <p style={{
  paddingLeft: '1.5rem',
  marginTop: '0.25rem',
  marginBottom: '0.25rem'
}}>• 雲控制檯中的網路規則。</p>
      <p style={{
  paddingLeft: '1.5rem',
  marginTop: '0.25rem',
  marginBottom: '0.25rem'
}}>• 託管應用程式的機器上的防火牆規則。例如，在使用 Amazon AMI 時，可以使用 <em>簡單防火牆</em>（UFW）來允許所需端口上的流量。Linux 環境中的常見策略是將流量從低於 1024 的端口轉寄到高於 1024 的非標準端口，同時將應用程式配置為使用非標準端口。這可以避免與非 root 使用者繫結到低於 1024 的端口相關的權限問題。</p>
      <p style={{
  paddingLeft: '1.5rem',
  marginTop: '0.25rem',
  marginBottom: '0.25rem'
}}>• <a href="/26.3/self-hosted/zh/getting-started/administration/settings/security">安全</a> 索引標籤的 <a href="/26.3/self-hosted/zh/getting-started/administration/settings/network-access">網路存取</a> 部分。</p>
    </Note>
  </>;

export const ServerStatus = () => <>
    <p><em>端口底層服務的當前狀態。可用狀態如下：</em></p>
    <table>
      <thead>
        <tr>
          <th>狀態</th>
          <th>描述</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>活動</strong></td>
          <td>服務正在執行。</td>
        </tr>
        <tr>
          <td><strong>非活動</strong></td>
          <td>服務已配置，但當前未執行。</td>
        </tr>
        <tr>
          <td><strong>未配置</strong></td>
          <td>底層配置檔案或服務尚未設定。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const NameDescription = ({extraRows}) => <table>
    <thead>
      <tr>
        <th>設定</th>
        <th>描述</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><strong>端口 Id</strong></td>
        <td>端口的靜態、唯一識別碼。</td>
      </tr>
      <tr>
        <td><strong>端口型別</strong></td>
        <td>顯示端口型別及其用途的描述。</td>
      </tr>
      <tr>
        <td><strong>端口描述</strong></td>
        <td>一個可選欄位，用於提供端口及其在流中的角色的自由格式描述。</td>
      </tr>
      {extraRows}
    </tbody>
  </table>;

export const SlasTab = ({siteName = "知行之桥"}) => <>
    <p><em>與配置服務級別協議 (SLA) 相關的設定。</em></p>
    <p>
      SLA 允許配置預期流程中端口傳送或接收的資料量，並設定預期達到該資料量的時間範圍。當 SLA 未達到時，{siteName} 會傳送電子郵件警告使用者，並將 SLA 標記為 <em>存在風險</em>，這意味著如果 SLA 未能儘快達到，則會被標記為 <em>已違反</em>。這讓使用者有機會介入並確定 SLA 未達到的原因，並採取適當的措施。如果在風險時間段結束時仍未達到 SLA，則會將 SLA 標記為已違反，並再次通知使用者。
    </p>
    <p>
      要定義 SLA，請啟用 <strong>預期資料量</strong>，然後點選 <strong>設定</strong> 索引標籤。
    </p>
    <img src="/public/images/sla_empty.png" alt="SLA Empty" />
    <ul>
      <li>如果端口具有單獨的傳送和接收操作，請使用選項按鈕指定 SLA 適用的方向。</li>
      <li>在視窗的 <strong>預計至少</strong> 部分中：
        <ul>
          <li>設定預計處理的最小交易數量（交易量）</li>
          <li>使用 <strong>每個</strong> 欄位指定時間範圍</li>
          <li>指示 SLA 生效的時間。如果選擇 <strong>開始於</strong>，請填寫日期和時間欄位。</li>
          <li>勾選希望 SLA 生效的星期幾對應的核取方塊。如有必要，請使用下拉功能表選擇 <strong>每天</strong>。</li>
        </ul>
      </li>
      <li>在視窗的 <strong>將狀態設定為“有風險”</strong> 部分中，指定應將 SLA 標記為有風險的時間。
        <ul>
          <li>預設情況下，只有在違反 SLA 的情況下才會傳送通知。要更改此設定，請勾選 <strong>傳送“有風險”通知</strong>。</li>
        </ul>
      </li>
    </ul>
    <p>
      以下範例顯示了為端口配置的 SLA，該端口預計在週一至週五每天接收 1000 個檔案。如果尚未收到 1000 個檔案，則會在時間段結束前 1 小時傳送風險通知。
    </p>
    <img src="/public/images/sla_defined.png" alt="SLA Configuration Example" />
    <Note>
      如果有必要，可以關閉 SLA 通知。這在維護視窗期間非常有用。點選導覽列上的 <strong>設定</strong>，然後跳轉到 <strong>通知 &gt; 通用通知</strong>。點選平板和鉛筆圖示進行編輯，並取消勾選 <strong>SLA 通知</strong> 設定。
    </Note>
  </>;

export const AlertsTab = ({siteNameShort = "知行之桥"}) => <>
    <p><em>與配置通知相關的設定。</em></p>
    <p>
      在執行服務級別協議 (SLA) 之前，需要設定電子郵件通知以接收通知。預設情況下，{siteNameShort} 使用 <a href="/26.3/self-hosted/zh/getting-started/administration/settings/alerts">通知</a> 索引標籤上的全域設定。要為此端口使用其他設定，請啟用 <strong>覆蓋全域設定</strong>。
    </p>
    <p>
      預設情況下，錯誤通知處於啟用狀態，這意味著每當出現錯誤時都會傳送電子郵件。要關閉錯誤通知，請取消選中 <strong>啟用</strong> 核取方塊。
    </p>
    <p>
      輸入 <strong>主題</strong>（必填）。勾選<strong>允許在主題中使用 ArcScript</strong>，即可在<strong>主題</strong>欄位中使用 ArcScript。選中後會顯示 <strong>ArcScript 編輯器</strong>按鈕（<img src="/public/images/rest_arcscript_editor.png" alt="ArcScript 編輯器按鈕" style={{
  display: 'inline',
  verticalAlign: 'middle',
  margin: 0
}} />）。
    </p>
    <p>
      （可選）輸入以逗號分隔的<strong>收件人</strong>電子郵件地址清單。
    </p>
  </>;

export const Message = () => <>
    <p><em>訊息設定確定端口如何搜尋訊息並在處理後管理它們。</em></p>
    <p><strong>注意：</strong>以下設定已棄用，預設處於隱藏狀態。只有先前已啟用這些設定或將其配置為非預設值的端口才會顯示它們。若要保留成功處理的檔案副本，請在工作流程中右鍵單擊該端口，選擇<strong>顯示成功路徑</strong>，然後將成功路徑連線到 <a href="/26.3/self-hosted/zh/connectors/file">File 端口</a>。</p>
    <table>
      <thead>
        <tr><th>設定</th><th>描述</th></tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>儲存到已傳送資料夾</strong>（已棄用）</td>
          <td>將端口處理的檔案複製到 Sent 資料夾。預設停用。儲存到 Sent 資料夾中的檔案不受<a href="/26.3/self-hosted/zh/getting-started/administration/settings/encryption-at-rest">靜態加密</a>保護。</td>
        </tr>
        <tr>
          <td><strong>已傳送資料夾方案</strong>（已棄用）</td>
          <td>按所選時間間隔對 <strong>Sent</strong> 資料夾中的檔案進行分組。僅在啟用<strong>儲存到已傳送資料夾</strong>時適用。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const MiscConnector = () => <>
    <p><em>特殊設定適用於特定用例。</em></p>
    <table>
      <thead>
        <tr>
          <th>設定</th>
          <th>描述</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>其他設定</strong></td>
          <td>允許在以分號分隔的清單中配置隱藏的端口設定，例如 <code>setting1=value1;setting2=value2</code>。正常的端口用例和功能不需要使用這些設定。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const Logging = () => <>
    <p><em>用於管理日誌建立和儲存的設定。</em></p>
    <table>
      <thead>
        <tr>
          <th>設定</th>
          <th>描述</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>日誌級別</strong></td>
          <td>指定要記錄在端口日誌目錄中的資訊型別：
            <ul>
              <li><b>None</b> - 不建立任何日誌。</li>
              <li><b>Error</b> - 僅當端口遇到錯誤時才建立日誌。</li>
              <li><b>Warning</b> - 僅當端口發出警告時才建立日誌。</li>
              <li><b>Info</b> - 記錄工作流程的一般資訊，包括任何錯誤和警告（如果適用）。</li>
              <li><b>Debug</b> - 記錄成功和失敗工作流程的詳細偵錯資訊。</li>
              <li><b>Trace</b> - 記錄成功和失敗工作流程的詳細跟蹤資訊。</li>
            </ul>
            <strong>請注意：</strong><strong>Debug</strong> 和 <strong>Trace</strong> 級別的日誌可能會記錄敏感資訊，包括訊息內容和 SSL 憑證。儘管連線屬性（例如密碼）被遮蔽了，但在與您的組織外部共享它們之前，請檢視此級別的日誌以避免洩漏敏感資訊。</td>
        </tr>
        <tr>
          <td><strong>日誌資料夾結構</strong></td>
          <td>指示端口根據選定的時間間隔將日誌資料夾中的檔案分組。例如，<strong>Weekly</strong> 選項指示端口每週建立一個新的子資料夾，並將該周的所有日誌儲存在該資料夾中。空白設定告訴端口將所有日誌直接儲存在日誌資料夾中。對於處理許多交易的端口，使用子資料夾有助於保持日誌的有序性並提高效能。</td>
        </tr>
        <tr>
          <td><strong>保留訊息副本</strong></td>
          <td>指示端口在日誌目錄中儲存最新訊息副本的切換。請注意，端口每個子資料夾只保留一個訊息，並且端口在再次執行時會覆蓋以前儲存的訊息。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const ProfileLogging = () => <>
    <p><em>用於管理日誌建立和儲存的設定。</em></p>
    <table>
      <thead>
        <tr>
          <th>設定</th>
          <th>描述</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>日誌級別</strong></td>
          <td>端口生成的日誌的詳細程度。當請求支援時，請將其設定為 <strong>Debug</strong>。</td>
        </tr>
        <tr>
          <td><strong>日誌輪換間隔</strong></td>
          <td>建立新日誌檔案之前等待的天數。</td>
        </tr>
        <tr>
          <td><strong>日誌刪除間隔</strong></td>
          <td>刪除舊日誌檔案之前等待的天數。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const MacrosExamples = ({extraMacros = []}) => <>
    <p>
      某些宏（例如 %Ext% 和 %ShortDate%）不需要參數，但其他宏則需要。所有帶有參數的宏都使用以下語法：<code>%Macro:argument%</code>
    </p>

    <p>以下是帶有參數的宏的一些範例：</p>

    <ul>
      <li>%Header:headername%：其中 <code>headername</code> 是訊息上訊息頭的名稱。</li>
      <li>%Header:mycustomheader% 解析為輸入訊息上設定的 <code>mycustomheader</code> 訊息頭的值。</li>
      <li>%Header:ponum% 解析為輸入訊息上設定的 <code>ponum</code> 訊息頭的值。</li>
      <li>%RegexFilename:pattern%：其中 <code>pattern</code> 是規則運算式模式。例如，<code>%RegexFilename:^([\w][A-Za-z]+)%</code> 匹配並解析為檔名中的第一個單詞，並且不區分大小寫（<code>test_file.xml</code> 解析為 <code>test</code>）。</li>
      <li>%Vault:vaultitem%：其中 <code>vaultitem</code> 是 <a href="/26.3/self-hosted/zh/getting-started/administration/settings/global-settings-vault">vault</a> 中專案的名稱。例如，<code>%Vault:companyname%</code> 解析為儲存在保管庫中的 <code>companyname</code> 項的值。</li>
      <li>%DateFormat:format%：其中 <code>format</code> 是可接受的日期格式（有關詳細資訊，請參閱 <a href="/26.3/self-hosted/zh/scripting/value-formatters/date-formatters#sample-date-formats">範例日期格式</a>）。例如，<code>%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%</code> 解析為檔案上的日期和時間戳。</li>
      {extraMacros.filter(item => item.example).map(item => <li key={`ex-${item.name}`}>{item.example}</li>)}
    </ul>

    <p>還可以建立更復雜的宏，如以下範例所示：</p>

    <ul>
      <li>將多個宏組合在一個檔名中：<code>%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%</code></li>
      <li>包括宏之外的文字：<code>MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%</code></li>
      <li>在宏中包含文字：<code>%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%</code></li>
    </ul>
  </>;

export const MacrosTable = ({siteName = "知行之桥", extraMacros = []}) => <>
    <p>
      在檔案命名策略中使用宏可以提高組織效率和對資料的上下文理解。透過將宏合併到檔名中，可以動態地包含相關資訊，例如識別碼、時間戳和訊息頭資訊，從而為每個檔案提供有價值的上下文。這有助於確保檔名反映對組織重要的詳細資訊。
    </p>

    <p>{siteName} 支援這些宏，它們都使用以下語法：<code>%Macro%</code>。</p>

    <table>
      <thead>
        <tr><th>宏</th><th>描述</th></tr>
      </thead>
      <tbody>
        <tr><td>ConnectorID</td><td>替換為端口的 ConnectorID。</td></tr>
        <tr><td>ConnectorName</td><td>替換為端口名稱。可用於在檔名或路徑中包含連線名稱，例如按生成備份檔案的資料庫連線標記檔案。</td></tr>
        <tr><td>Ext</td><td>替換為端口當前正在處理的檔案的副檔名。</td></tr>
        <tr><td>Filename</td><td>替換為端口當前正在處理的檔案的檔名（包括副檔名）。</td></tr>
        <tr><td>FilenameNoExt</td><td>替換為端口當前正在處理的檔案的檔名（不帶副檔名）。</td></tr>
        <tr><td>MessageId</td><td>計算端口輸出的訊息的 MessageId。</td></tr>
        <tr><td>RegexFilename:<em>pattern</em></td><td>將規則運算式模式應用於端口當前正在處理的檔案的檔名。</td></tr>
        <tr><td>Header:<em>headername</em></td><td>替換為端口正在處理的當前訊息的目標訊息頭（<code>headername</code>）的值。</td></tr>
        <tr><td>LongDate</td><td>以常規格式計算系統的當前日期時間（例如，2024 年 1 月 24 日星期三）。</td></tr>
        <tr><td>ShortDate</td><td>以 yyyy-MM-dd 格式計算系統的當前日期時間（例如 2024-01-24）。</td></tr>
        <tr><td>DateFormat:<em>format</em></td><td>以指定格式（<code>format</code>）計算系統的當前日期時間。有關可用的日期時間格式，請參閱 <a href="/26.3/self-hosted/zh/scripting/value-formatters/date-formatters#date-formats-with-literal-characters">範例日期格式</a>。</td></tr>
        <tr><td>Vault:<em>vaultitem</em></td><td>計算指定保管庫專案的值。</td></tr>
        {extraMacros.map(item => <tr key={item.name}>
            <td>{item.name}</td>
            <td>{item.description}</td>
          </tr>)}
      </tbody>
    </table>
  </>;

export const companyName = "知行軟件";

export const siteNameShort = "知行之橋";

export const siteName = "知行之橋";

每個 SFTP Server 端口都定義一個唯一的用戶端配置檔案，可用於向 {siteNameShort} SFTP Server 進行認證。

## 核心功能

* 內建基於 SSH 的安全檔案伺服器，支援多使用者存取
* 靈活的認證方式，包括密碼、公開金鑰以及 Windows/AD 整合（Windows/AD 整合僅在 .NET 版中可用）
* 獨立的使用者目錄，支援自定義資料夾結構和附加路徑
* 高階安全特性，包括登入嘗試鎖定和 IP 限制
* 支援臨時副檔名以及操作完成後的檔案自動移動

## 概觀

{siteNameShort} SFTP Server 端口主要在[個人設定](../getting-started/administration/profiles)頁面中配置。然後，可以為每個應有權存取伺服器的交易夥伴建立單獨的 SFTP Server 端口。SFTP Server 端口定義交易夥伴的憑據（使用者名稱、密碼和/或公開金鑰），並在伺服器上提供唯一的主目錄。

每個使用者的主目錄都包含一個 *Send* 資料夾（用戶端可從中下載檔案）和一個 *Receive* 資料夾（用戶端可向其中上傳檔案）。您可以在[進階選項卡](#進階選項卡)上重新命名這些資料夾。SFTP 用戶端沒有存取 SFTP 伺服器根目錄的權限，這意味著 SFTP 用戶端連線後應始終 *cd* 到 Send 或 Receive 目錄。

SFTP Server 還支援 Windows/AD 認證。有關詳細資訊，請參閱 [Windows 身分驗證](#windows-身分驗證)。

### 影片資源

觀看此短影片，瞭解如何配置 SFTP Server。

<iframe width="560" height="315" src="//player.bilibili.com/player.html?aid=616154397&bvid=BV1Vh4y1L7QK&cid=1203415338&p=1" scrolling="no" border="0" frameBorder="no" framespacing="0" allowFullScreen />

## 個人設定配置

在與各個 SFTP Server 端口建立連線之前，必須先配置 SFTP Server 個人設定。單擊導覽列上的**個人設定**，然後單擊 **SFTP Server** 索引標籤。

### 伺服器配置

*伺服器實現設定。*

| 設定               | 說明                                                                                                                                                                         |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **端口**           | SFTP 伺服器偵聽傳入連線的端口。                                                                                                                                                         |
| **伺服器憑證**        | 標識伺服器的憑證。                                                                                                                                                                  |
| **憑證密碼**         | 存取伺服器憑證所需的密碼。                                                                                                                                                              |
| **登入橫幅**         | SFTP 用戶端連線到伺服器時顯示的橫幅。                                                                                                                                                      |
| **根目錄**          | 伺服器的根目錄。根目錄中會為各個用戶端配置檔案（每個已配置的 SFTP Server 端口）建立子資料夾。每個用戶端配置檔案都包含一個 Send 資料夾（用戶端可從伺服器下載檔案）和一個 Receive 資料夾（用戶端可向伺服器上傳檔案）。                                                   |
| **允許檔案過濾器**      | 用於確定 SFTP 伺服器接受哪些檔案的 Glob 模式。可以使用負模式指示不應下載的檔案（例如，-\*.tmp）。多個檔案型別用逗號分隔（例如，\*.x12,\*.edi）。                                                                                   |
| **Windows 身分驗證** | 選中此項可使用 Windows 身分驗證而不是 SFTP Server 端口配置來認證使用者。僅在 {siteNameShort} 的 [.NET 版](../getting-started/installation/windows-edition)中可用。有關更多資訊，請參閱 [Windows 身分驗證](#windows-身分驗證)。 |
| **安全組**          | 用於授予伺服器存取權限的 Windows 組名稱。可以是本地計算機上的組，也可以是域上的組。僅當選中**使用 Windows 身分驗證**時適用。                                                                                                  |

#### 帳戶鎖定

*與鎖定伺服器存取相關的可選設定。*

| 設定       | 說明                     |
| -------- | ---------------------- |
| **失敗次數** | 使用者被鎖定前允許的失敗登入嘗試次數。    |
| **鎖定時間** | 使用者被鎖定的時長（以分鐘為單位）。     |
| **檢測週期** | 保留失敗登入嘗試記錄的時長（以分鐘為單位）。 |

#### 受信任的 IP 地址

<TrustedIp />

### 進階設定

| 設定       | 說明                         |
| -------- | -------------------------- |
| **空閒逾時** | 使用者在沒有活動後逾時所需經過的時間（以秒為單位）。 |

#### 日誌

<ProfileLogging />

#### 其他設定

<MiscConnector />

## 端口配置

配置 SFTP Server 個人設定後，請在“工作流程”頁面上為每個交易夥伴建立並配置單獨的 SFTP Server 端口。

### 設定索引標籤

#### 配置

<NameDescription />

#### 伺服器狀態

<ServerStatus />

點選**檢視 SFTP 伺服器個人設定**連結可在新索引標籤中開啟對應個人設定。

#### 使用者配置

*向本地 SFTP 伺服器進行認證所用的憑據。*

| 設定        | 說明                                  |
| --------- | ----------------------------------- |
| **使用者**   | 登入本地 SFTP 伺服器所用的使用者名稱憑據。            |
| **認證模式**  | 與 SFTP 伺服器配合使用的認證型別。以下欄位會因認證模式而異。   |
| **密碼**    | 登入 SFTP 伺服器所用的密碼憑據。                 |
| **用戶端憑證** | 當選擇**公開金鑰**認證時，對應於用戶端所用私有憑證的公開金鑰憑證。 |

#### 權限

*與 Send 和 Receive 資料夾讀/寫權限相關的設定。*

| 設定               | 說明                                     |
| ---------------- | -------------------------------------- |
| **Send 目錄權限**    | 使用核取方塊設定 *Send* 目錄的讀/寫權限。這是下載檔案的位置。    |
| **Receive 目錄權限** | 使用核取方塊設定 *Receive* 目錄的讀/寫權限。這是上傳檔案的位置。 |

### 進階選項卡

#### 本地資料夾

*與用戶端上傳和下載檔案的資料夾相關的設定。可在此處重新命名預設資料夾。*

| 設定                  | 說明                                                           |
| ------------------- | ------------------------------------------------------------ |
| **輸入資料夾 (Send)**    | 放入 Send 資料夾的檔案可供用戶端下載。                                       |
| **輸出資料夾 (Receive)** | 用戶端上傳的檔案應放入 Receive 資料夾。檔案會保留在 Receive 資料夾中，或傳遞到工作流程中的下一個端口。 |

#### 附加路徑

SFTP Server 端口允許公開輸入和輸出資料夾之外的路徑。要配置附加路徑，請按照以下步驟操作：

1. 使用**路徑**欄位指定應公開的附加路徑。路徑值相對於“個人設定”頁面上定義的**根目錄**。
2. 使用**讀取**和**寫入**核取方塊設定附加路徑的權限。
3. 如果需要更多路徑，請單擊**新增**並對每個路徑重複這些步驟。

例如，如果**根目錄**設定為 `/var/opt/arc/sftpserver`，並新增了 `MyAdditionalPath` 附加路徑，則它會對映到磁碟上的 `/var/opt/arc/sftpserver/MyAdditionalPath` 路徑。

#### 進階設定

*先前類別中未包含的設定。*

| 設定               | 說明                                                                                                                          |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **主目錄**          | 使用者登入後的初始伺服器路徑。可以使用端口主目錄、Send 或 Receive 資料夾，或已定義的[附加路徑](#附加路徑)。詳情請參閱[主目錄](#主目錄)。                                            |
| **允許檔案過濾器**      | 用於確定 SFTP 伺服器接受哪些檔案的 Glob 模式。可以使用負模式指示不應下載的檔案（例如，-\*.tmp）。多個檔案型別用逗號分隔（例如，\*.x12,\*.edi）。覆蓋“個人設定”頁面“伺服器配置”部分中的**允許檔案過濾器**選項。 |
| **傳送後移動檔案**      | 指定 *Send* 資料夾中的檔案在被用戶端下載後是否應移動到 *Sent* 資料夾。                                                                                 |
| **臨時接收副檔名**      | 具有匹配副檔名的檔案不會記錄在 Receive 表中，並且在重新命名之前不會觸發**接收後**事件。請提供逗號分隔的副檔名清單。                                                            |
| **逾時**           | 伺服器在擲回逾時錯誤之前等待連線回應的時長（以秒為單位）。                                                                                               |
| **儲存 Subfolder** | 選中此項可向已接收的訊息新增 *Subfolder* 標頭。它表示相對於本地資料夾或附加路徑的路徑。                                                                          |
| **斷開連線時完成處理**    | 選中後，將檔案最終處理延遲到用戶端斷開連線，以便用戶端執行重新命名等額外操作。                                                                                     |
| **本地檔案方案**       | 用於為端口輸出的訊息分配檔名的方案。可以在檔名中動態使用宏來包含識別碼和時間戳等資訊。有關更多資訊，請參閱[宏](#宏)。                                                               |

#### 訊息

<Message />

#### 日誌

<Logging />

#### 其他設定

<MiscConnector />

### 警示索引標籤

<AlertsTab />

### SLA 索引標籤

<SlasTab />

## 建立連線

每個 SFTP Server 端口都代表單個交易夥伴的連線參數。交易夥伴應使用[個人設定](../getting-started/administration/profiles)頁面中的伺服器設定（端口、伺服器憑證等）以及專用 SFTP Server 端口中的認證設定（使用者和密碼）連線到 SFTP 伺服器。

每個交易夥伴都有一對 *Send* 和 *Receive* 目錄，它們是根目錄的子資料夾。夥伴從 Send 資料夾下載檔案，並將檔案上傳到 Receive 資料夾。不允許用戶端從根目錄上傳或下載檔案。

## 主目錄

**主目錄**設定控制用戶端登入後的初始目錄。可在端口的**高階**索引標籤中配置。移轉自允許配置落地目錄的 SFTP/FTP 軟體，或用戶端不會執行 `cd` 命令時，此設定尤其有用。

* **留空（預設）**：用戶端進入端口主目錄 `/<connectorId>`。
* **設定路徑**：用戶端登入後進入指定伺服器路徑；未切換目錄的上傳、下載和列出操作均在該目錄中執行。

主目錄必須是相對於端口[個人設定](#個人設定配置)中**根目錄**解析的伺服器路徑，並匹配已配置的位置。有效位置包括：

* `/<connectorId>`：端口主目錄
* `/<connectorId>/Send`
* `/<connectorId>/Receive`
* 任意已定義的[附加路徑](#附加路徑)，例如 `/Staging`

伺服器根目錄 `/` 不是有效主目錄。輸入會被標準化，因此 `Receive`、`/Receive`、`\Receive` 和 `/Receive/` 被視為同一路徑。儲存時會驗證路徑；不存在或已刪除的附加路徑會被拒絕。

<Note>主目錄只設定登入時的初始目錄，並非 chroot 或隔離區。用戶端之後可存取的目錄仍由[權限設定](#權限)控制。</Note>

### 主目錄與 SFTP 用戶端遠端路徑

| SFTP 伺服器主目錄 | SFTP 用戶端遠端路徑     | 最終工作目錄                   |
| ----------- | ---------------- | ------------------------ |
| *（空）*       | *（空）*            | `/<connectorId>`         |
| *（空）*       | `/`              | 權限錯誤                     |
| *（空）*       | `Receive`        | `/<connectorId>/Receive` |
| `/Test`     | *（空）*            | `/Test`                  |
| `/Test`     | `/`              | 權限錯誤                     |
| `/Test`     | `/<connectorId>` | `/<connectorId>`         |

## Windows 身分驗證

在“個人設定”索引標籤的[伺服器配置](./sftp-server#伺服器配置)部分啟用 Windows 身分驗證時，不需要單獨的 SFTP Server 端口來授予對 SFTP Server 的登入存取權限。相反，您需要指定應被授予伺服器存取權限的 Windows **安全組**名稱。

啟用 Windows 身分驗證時，**根目錄**個人設定支援 %User% 和 %Domain% 宏，用於為安全組中的不同使用者建立不同的根目錄。因此，啟用 Windows 身分驗證時，允許使用者在根目錄中上傳/下載檔案（使用 SFTP Server 端口進行認證時並非如此）。

檔案上傳到特定使用者的資料夾後，可以使用 [File 端口](./file)將其輸入到 {siteNameShort} 工作流程中。

## 宏

<MacrosTable />

### 範例

<MacrosExamples />

## 常見錯誤

### 錯誤：Could not bind server socket: Permission denied.

**原因**

嘗試連線到 SFTP 伺服器時，如果託管 {siteNameShort} 的處理程序沒有足夠權限在指定端口上建立偵聽器，就可能出現此錯誤。請注意，在某些情況下（例如 Linux 環境和在 Amazon AMI 中執行的託管例項），禁止存取 1024 以下的端口。

**解決方案**

選擇其他端口，或將託管 {siteNameShort} 的處理程序身份更改為具有繫結到該端口權限的身份。

{siteNameShort} 的 Amazon AMI 託管版本使用 Ubuntu 作業系統，因此 {companyName} 建議您使用 *Uncomplicated Firewall* (UFW) 管理端口權限問題。例如，在 {siteNameShort} 中將 SFTP Server 設定為在端口 8022 上執行，並使用 UFW 在作業系統級別將端口 22 轉寄到 8022，如下所示：

```
ufw allow 22/tcp
ufw allow 8022/tcp
echo "
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 8022
COMMIT" >> /etc/ufw/before.rules
```

如果您的環境使用其他 Linux 作業系統，{companyName} 建議您繫結到受限範圍以上的端口（例如，將 8022 用於 SFTP 流量），並使用 `iptables` 將所需端口上的傳入請求路由到允許的端口：

`iptables -t nat -I PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 8022`
