---
title: SFTP
description: SFTP（SSH File Transfer Protocol）を介してファイルを転送
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="sftp"
  color="#2D3748"
/>

{/* MANUAL-CONTENT-START:intro */}
[SFTP（SSH File Transfer Protocol）](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol)は、リモートサーバー上でファイルのアップロード、ダウンロード、管理を可能にする安全なネットワークプロトコルです。SFTPはSSH上で動作し、現代のワークフロー内での自動化された暗号化ファイル転送とリモートファイル管理に最適です。

SimにSFTPツールを統合することで、AIエージェントと外部システムやサーバー間のファイル移動を簡単に自動化できます。これにより、エージェントは重要なデータ交換、バックアップ、ドキュメント生成、リモートシステムのオーケストレーションを堅牢なセキュリティで管理できるようになります。

**SFTPツールで利用可能な主要機能：**

- **ファイルのアップロード：** パスワードとSSH秘密鍵認証の両方をサポートし、ワークフローからリモートサーバーへあらゆるタイプのファイルをシームレスに転送。
- **ファイルのダウンロード：** リモートSFTPサーバーから直接ファイルを取得し、処理、アーカイブ、または更なる自動化を行う。
- **ファイルの一覧表示と管理：** ディレクトリの列挙、ファイルやフォルダの削除または作成、リモートでのファイルシステム権限の管理。
- **柔軟な認証：** 従来のパスワードまたはSSH鍵を使用して接続し、パスフレーズと権限制御をサポート。
- **大容量ファイルのサポート：** 安全性のための組み込みサイズ制限付きで、大容量ファイルのアップロードとダウンロードをプログラムで管理。

SimにSFTPを統合することで、データ収集、レポート作成、リモートシステムのメンテナンス、プラットフォーム間の動的コンテンツ交換など、あらゆるワークフローの一部として安全なファイル操作を自動化できます。

以下のセクションでは、利用可能な主要なSFTPツールについて説明します：

- **sftp_upload：** 1つまたは複数のファイルをリモートサーバーにアップロード。
- **sftp_download：** リモートサーバーからワークフローにファイルをダウンロード。
- **sftp_list：** リモートSFTPサーバー上のディレクトリ内容を一覧表示。
- **sftp_delete：** リモートサーバーからファイルまたはディレクトリを削除。
- **sftp_create：** リモートSFTPサーバー上に新しいファイルを作成。
- **sftp_mkdir：** リモートで新しいディレクトリを作成。

各操作の詳細な入力パラメータと出力パラメータについては、以下のツールドキュメントをご覧ください。
{/* MANUAL-CONTENT-END */}

## 使用方法

SFTPを介してリモートサーバーにファイルをアップロード、ダウンロード、一覧表示、管理できます。安全なファイル転送のためにパスワード認証と秘密鍵認証の両方をサポートしています。

## ツール

### `sftp_upload`

リモートSFTPサーバーにファイルをアップロードする

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `host` | string | はい | SFTPサーバーのホスト名またはIPアドレス |
| `port` | number | はい | SFTPサーバーのポート（デフォルト：22） |
| `username` | string | はい | SFTPユーザー名 |
| `password` | string | いいえ | 認証用パスワード（秘密鍵を使用しない場合） |
| `privateKey` | string | いいえ | 認証用秘密鍵（OpenSSH形式） |
| `passphrase` | string | いいえ | 暗号化された秘密鍵のパスフレーズ |
| `remotePath` | string | はい | リモートサーバー上の宛先ディレクトリ |
| `files` | file[] | いいえ | アップロードするファイル |
| `fileContent` | string | いいえ | アップロードする直接ファイルコンテンツ（テキストファイル用） |
| `fileName` | string | いいえ | 直接コンテンツを使用する場合のファイル名 |
| `overwrite` | boolean | いいえ | 既存のファイルを上書きするかどうか（デフォルト：true） |
| `permissions` | string | いいえ | ファイルのパーミッション（例：0644） |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | アップロードが成功したかどうか |
| `uploadedFiles` | json | アップロードされたファイルの詳細の配列（名前、リモートパス、サイズ） |
| `message` | string | 操作ステータスメッセージ |

### `sftp_download`

リモートSFTPサーバーからファイルをダウンロードする

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `host` | string | はい | SFTPサーバーのホスト名またはIPアドレス |
| `port` | number | はい | SFTPサーバーのポート（デフォルト：22） |
| `username` | string | はい | SFTPユーザー名 |
| `password` | string | いいえ | 認証用パスワード（秘密鍵を使用しない場合） |
| `privateKey` | string | いいえ | 認証用秘密鍵（OpenSSH形式） |
| `passphrase` | string | いいえ | 暗号化された秘密鍵のパスフレーズ |
| `remotePath` | string | はい | リモートサーバー上のファイルパス |
| `encoding` | string | いいえ | 出力エンコーディング：テキストの場合はutf-8、バイナリの場合はbase64（デフォルト：utf-8） |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | ダウンロードが成功したかどうか |
| `fileName` | string | ダウンロードしたファイルの名前 |
| `content` | string | ファイルの内容（テキストまたはbase64エンコード） |
| `size` | number | ファイルサイズ（バイト） |
| `encoding` | string | コンテンツエンコーディング（utf-8またはbase64） |
| `message` | string | 操作ステータスメッセージ |

### `sftp_list`

リモートSFTPサーバー上のファイルとディレクトリを一覧表示する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `host` | string | はい | SFTPサーバーのホスト名またはIPアドレス |
| `port` | number | はい | SFTPサーバーのポート（デフォルト：22） |
| `username` | string | はい | SFTPユーザー名 |
| `password` | string | いいえ | 認証用パスワード（秘密鍵を使用しない場合） |
| `privateKey` | string | いいえ | 認証用秘密鍵（OpenSSH形式） |
| `passphrase` | string | いいえ | 暗号化された秘密鍵のパスフレーズ |
| `remotePath` | string | はい | リモートサーバー上のディレクトリパス |
| `detailed` | boolean | いいえ | 詳細なファイル情報（サイズ、権限、更新日）を含める |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作が成功したかどうか |
| `path` | string | 一覧表示されたディレクトリパス |
| `entries` | json | 名前、タイプ、サイズ、権限、更新日時を含むディレクトリエントリの配列 |
| `count` | number | ディレクトリ内のエントリ数 |
| `message` | string | 操作のステータスメッセージ |

### `sftp_delete`

リモートSFTPサーバー上のファイルまたはディレクトリを削除する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `host` | string | はい | SFTPサーバーのホスト名またはIPアドレス |
| `port` | number | はい | SFTPサーバーのポート（デフォルト：22） |
| `username` | string | はい | SFTPユーザー名 |
| `password` | string | いいえ | 認証用パスワード（秘密鍵を使用しない場合） |
| `privateKey` | string | いいえ | 認証用の秘密鍵（OpenSSH形式） |
| `passphrase` | string | いいえ | 暗号化された秘密鍵のパスフレーズ |
| `remotePath` | string | はい | 削除するファイルまたはディレクトリのパス |
| `recursive` | boolean | いいえ | ディレクトリを再帰的に削除する |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 削除が成功したかどうか |
| `deletedPath` | string | 削除されたパス |
| `message` | string | 操作のステータスメッセージ |

### `sftp_mkdir`

リモートSFTPサーバーにディレクトリを作成する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `host` | string | はい | SFTPサーバーのホスト名またはIPアドレス |
| `port` | number | はい | SFTPサーバーのポート（デフォルト：22） |
| `username` | string | はい | SFTPユーザー名 |
| `password` | string | いいえ | 認証用パスワード（秘密鍵を使用しない場合） |
| `privateKey` | string | いいえ | 認証用秘密鍵（OpenSSH形式） |
| `passphrase` | string | いいえ | 暗号化された秘密鍵のパスフレーズ |
| `remotePath` | string | はい | 新しいディレクトリのパス |
| `recursive` | boolean | いいえ | 親ディレクトリが存在しない場合に作成する |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | ディレクトリが正常に作成されたかどうか |
| `createdPath` | string | 作成されたディレクトリのパス |
| `message` | string | 操作のステータスメッセージ |
