• No : 658
  • 公開日時 : 2026/03/13 19:35
  • 更新日時 : 2026/05/19 11:59
  • 印刷

SFTPでデータを取り込みたい

回答

本記事では、SFTPを利用してb→dashにデータを取り込む方法について紹介しています。SFTP連携には下記の2つのパターンがあり、それぞれで設定方法が異なります。下記の俯瞰図に沿って、貴社の環境に合ったパターンを選択してください。

 1. b→dashが貴社のサーバーからデータを受け取るパターン: 貴社サーバー側で「SSH公開鍵/秘密鍵」を発行し、b→dashの中間サーバーにファイルを転送する方式
 2. b→dashが貴社のサーバーへデータを取りに行くパターン: b→dashの公開鍵を貴社サーバーに登録し、b→dashが指定時刻に貴社サーバーからファイルを取得する方式

どちらのパターンも、b→dashに連携したいデータを基幹システムから抽出して中間サーバーへ転送する前提作業が必要です(SQLを利用して処理を組むことが一般的、抽出/転送方法は環境により異なるため本記事では割愛)。

[前提] SFTP連携で取込可能なファイル形式と仕様

SFTP連携での設定に進む前に、取り込み対象のデータファイルが下記の仕様に準拠しているか確認しましょう。

【参考】取込可能なファイル形式とパスワード入力有無

区分

ファイル形式

パスワード

取込可能なファイル形式

CSVファイル(.csv)
TSVファイル(.tsv)
-
圧縮ファイル: zip / gzip / tar.gz パスワード付きファイル取込可
(SFTP連携システム登録時のパスワード設定)
※ 複数ファイルをまとめて1ファイルとして圧縮した場合は、取込できずエラーとなります(1ファイル毎に圧縮してデータ連携)
  パスワード入力の文字種類に制限はなく、入力可能な文字数の上限は「255文字まで
  複数のデータファイルにパスワードをつける場合は、全てのデータファイルに同じパスワードをつける必要があります

1. b→dashが貴社のサーバーからデータを受け取るパターン

このパターンでは、貴社サーバー側でSSH公開鍵/秘密鍵を発行し、貴社サーバーからb→dashの中間サーバーへファイルを転送します。

設定方法

1.「データパレット」をクリックします
2.「データを連携」をクリックします
3. 右上の「新規追加」をクリックします
4.「SFTP」を選択し、「適用」をクリックします
5.「b→dashが貴社のサーバーからデータを受け取る」を選択し、「次へ」をクリックします
6.「SSH公開鍵」を入力します(SSH公開鍵の作成方法は下記参照)
7. [任意]「パスワード」をb→dashに入力します
8. b→dashの「接続情報」(ホスト名/ポート番号/ユーザー名)を中間サーバーに登録します
9. 入力が完了したら「次へ」をクリックします
10. 名前を入力し、「保存」をクリックします

b→dashで対応している暗号方式
b→dashで対応している暗号方式は、OpenSSH形式のRSA暗号方式のみです。公開鍵と秘密鍵の形式は「OpenSSH形式」で作成してください。
b→dashの固定IPアドレス
b→dashでは、SFTP連携に利用する「IPアドレス」を固定しています。ホスト名に「IPアドレス」を登録したい場合は、以下のいずれかを登録してください。
 1. 54.249.208.125
 2. 54.168.65.175
※ b→dashの管理画面へSSH公開鍵を入力後、b→dashがSSH公開鍵を認識するまで最大5分程度の時間を要します
※ 必要な項目の入力を完了しても「次へ」をクリックできない場合は、入力したSSH公開鍵に『改行』や『空白』が含まれていないかご確認ください
※ ホスト名に接続するとホームディレクトリ直下に「input」ディレクトリがあるため、そこにファイルを設置してください

SSH公開鍵の作成方法

SFTP連携には「SSH公開鍵」の作成が必要です。貴社環境の中間サーバーによって作成方法は異なりますが、ここでは「Unix/Linux環境」と「Windows環境(WinSCP利用)」の2つを例に紹介します。

Unix/Linux環境の場合

1. サーバーにログインし、任意のユーザーで以下のコマンドを入力
  ssh-keygen -t rsa (パスフレーズなしで実行)
2. 以下のコマンドで公開鍵ファイル(id_rsa.pub)と秘密鍵ファイル(id_rsa)が生成されていることを確認
  ls -ltr ~/.ssh
3. 以下のコマンドで公開鍵ファイルの中身を表示
  cat ~/.ssh/id_rsa.pub
4.「ssh-rsa」から始まる文字列をb→dash画面に入力(最初から最後の文字までコピー、途中で改行が入らないように注意)

Windows環境の場合(WinSCP利用)

1. WinSCPをダウンロードし、貴社の中間サーバーにインストール
2. 「WinSCP」を開き、画面左下の「ツール」から「PuTTYgenを実行」を選択
3. 「Parameters」から「RSA」を選択し、「Generate」をクリック
4. 「Public key for pasting into OpenSSH authorized_keys file」に表示された公開鍵をb→dash画面に入力
5. 「Save private key」を選択し、任意のファイル名を付けて「.ppk」ファイルをローカルに保存(b→dashとの疎通確認時に使用)

※ 公開鍵ファイル(.pub/.pbk)の内容を確認するには、「メモ帳(テキストエディタ)」を使ってファイルを開く必要があります(右クリック → プログラムから開く → メモ帳)

疎通確認・ファイル転送の方法

設定完了後、サーバー間で疎通ができていることを確認し、b→dashへファイルを転送します。具体的な方法は、貴社環境の中間サーバーによって異なります。

Unix/Linux環境の場合

1. b→dashに連携するファイルがあることを確認
  ls -ltr
2. 以下のSFTPコマンドを入力(「100025_13」の部分はb→dashアカウントのユーザー名に差し替え)
  sftp -oPort=10222 -i ~/.ssh/id_rsa management_console_100025_13@sftp.smart-bdash.com:input/
3.「Connected to sftp.smart-bdash.com.」のカーソルが表示されたら疎通確認は完了
4. ファイル転送はシェルなどを用いて自動化(cronで実行スケジュールを設定)

Windows環境の場合

1. WinSCPのログイン画面で「設定」を選択し、「認証」→秘密鍵欄で先ほど作成した「.ppk」ファイルを選択
2. b→dashの接続情報を参照し「ホスト名」「ポート番号」「ユーザー名」を入力してログイン
3. WinSCP画面右フレームに「input」「output」ディレクトリが表示されれば疎通成功
4. ファイル転送はWinSCPの「.bat」スクリプト+「タスクスケジューラ」で自動化

WinSCPでディレクトリ更新時間が9時間後の表示となる場合
WinSCPでは「input」「output」ディレクトリの更新時間が、更新時間から9時間後の表示になる場合があります。解消する手順は以下の通りです。
 1. WinSCPのログイン画面で転送プロトコルを一旦「SCP」にして「設定」をクリック
 2. タイムゾーン補正を「-9時間」に設定し、「OK」をクリック
 3. 転送プロトコルを「FTP」に戻し、「保存」をクリック

検証方法

貴社中間サーバーで設定した「連携タイミング」の時間になると、b→dashに対してファイルを転送する処理が実施されます。

1. 連携のステータスを確認します(ステータスはアイコンで把握できます)
2. ステータスが「接続完了」になった連携設定をクリックします
3. 連携設定をクリックすると連携されているデータを確認でき、「取込設定」を行うことができます

※ b→dashの中間サーバーからb→dashに取込まれたデータファイルは、b→dashの中間サーバーから削除されます
  取込設定の詳細については「データを取り込みたい」をご参照ください
  セキュリティ上の理由で接続を制御する必要がある場合は、b→dashのIPアドレスのみアクセス許可してください(取込/出力で設定するIPアドレスを知りたい参照)
【参考】「接続完了」にならない場合の原因(受け取るパターン・10パターン)

考えられる原因

改善策

鍵認証を利用していない b→dashのSFTPサーバは鍵認証を利用して接続する必要があります(パスワード指定のバッチでは接続不可)
公開鍵と秘密鍵の形式が異なっている OpenSSH形式のRSA暗号方式のみ対応。RSA形式への変換は「openssl rsa -in {元の秘密鍵ファイル名} -check -out {変換後の秘密鍵ファイル名}」コマンドを使用
公開鍵/秘密鍵をコマンドを使用せず直接編集を行った RSA形式への変換時にコマンドを使用せず直接編集すると無効になる(直接編集禁止)
公開鍵と秘密鍵のペアが合っていない 「Permission denied (publickey).」エラーの場合、公開鍵と秘密鍵のペアが一致しているか確認
SSH公開鍵が正しくない b→dashに入力したSSH公開鍵に余分な改行や空白が含まれていないか確認(SSH公開鍵は改行コードを含まない1行の文字列)
SSH公開鍵を自社システム内で参照できない 「Identity file xxxx not accessible」エラーの場合、SFTP連携で使用するSSH秘密鍵を貴社サーバー内で参照できるか確認
接続先情報が間違っている 「Could not resolve hostname」エラーの場合、SFTP連携の『ポート番号』『ユーザー名』『ホスト名』に誤りがないか確認
連携対象のファイル形式が異なる 取込可能: CSV/TSV、圧縮: zip/tar.gzのみ
ポート番号が異なる b→dashが対応しているSFTPポート番号は「10222」のみ
貴社のセキュリティにより外部アクセスに制限がある b→dashが公開しているIPアドレスへのアクセス許可を設定

2. b→dashが貴社のサーバーへデータを取りに行くパターン

このパターンでは、接続情報として「ホスト名」「ポート番号」「ユーザー名」「ディレクトリパス」の4項目を事前に準備する必要がありますが、貴社のサーバーで「SSH公開鍵/秘密鍵」を発行・準備する必要はありません。b→dashが発行する公開鍵を貴社サーバーに登録する形になります。

設定方法

1.「データパレット」をクリックします
2.「データを連携」をクリックします
3. 右上の「新規作成」をクリックします
4.「SFTP」を選択し、「適用」をクリックします
5.「b→dashが貴社のサーバーからデータを取りに行く」を選択し、「次へ」をクリックします
6. 貴社の中間サーバーの「接続情報」(ホスト名/ポート番号/ユーザー名/ディレクトリパス)をb→dashに入力します
7. [任意]「パスワード」をb→dashに入力します
8. 表示されている「SSH公開鍵」をコピーし、貴社の中間サーバーに登録します
9. 入力が完了したら「次へ」をクリックします
10. 連携頻度と時間を設定の上「追加」を選択し、「次へ」をクリックします
11. 名前を入力し、「保存」をクリックします

※ ディレクトリパス配下にあるデータファイルはすべて取得されるため、b→dashに連携したいデータファイルだけをディレクトリパスに置いてください
  連携タイミングは複数設定可能(b→dashの中間サーバーから貴社の中間サーバーへファイルを取りに行く処理が実施されます)
中間サーバーを変更した場合の対応
中間サーバーを変更した際、変更した中間サーバーの接続情報をもとに連携システムを「新規作成」してしまうと、いままでb→dashに取り込んだデータファイルの設定を再度行う必要があります
中間サーバーを変更し、取込済みのデータファイルの設定を引き継ぎたい場合は、既存の連携システムの「編集」を行って接続情報を変更してください。

中間サーバーの接続情報を変更する手順

1.「SFTPの連携システム」を選択し「編集」をクリックします
2. 変更した中間サーバーの「接続情報(ホスト名/ポート番号/ユーザー名/ディレクトリパス/パスワード)」を入力し「次へ」をクリックします
3. 連携頻度と時間を設定の上「追加」を選択し、「次へ」をクリックします
4.「保存」をクリックします

検証方法

b→dash管理画面に設定した「連携タイミング」の時間になると、貴社の中間サーバーに対してファイルを取得する処理が実施されます。

1. 連携のステータスを確認します(ステータスはアイコンで把握できます)
2. ステータスが「接続完了」になったら連携設定をクリックします
3. 連携設定をクリックすると連携されているデータを確認でき、「取込設定」を行うことができます

※ 貴社の中間サーバーからb→dashの中間サーバーに転送したデータファイルは、貴社の中間サーバーから削除されません(貴社でデータファイルの削除対応が必要)
【参考】「接続完了」にならない場合の原因(取りに行くパターン・5パターン)

考えられる原因

改善策

b→dashで発行したSSH公開鍵を自社のサーバーに正しく登録できていない b→dashで発行したSSH公開鍵と、貴社のサーバーに登録した公開鍵が一致しているか確認
b→dashに登録した自社環境のディレクトリパスにアクセスできない ディレクトリパスには「/home/〜」から始まる『絶対パス』もしくは「fileupload」「fileupload/」の『相対パス』を使用。b→dashの登録したユーザー名で参照できるか確認
連携対象のファイル形式がb→dashで取込可能な形式と異なる 取込可能: CSV/TSV、圧縮: zip/gzip/tar.gzのみ
自社環境のセキュリティにより外部からのアクセスを遮断している b→dashから自社のサーバーへのアクセス許可を設定
鍵認証ではなく、パスワード認証を選択している b→dashとの連携では「鍵認証」のみ対応(「パスワード認証」は不可)

[参考] 0レコード/0バイトファイルの挙動とレコード表示の仕様

SFTP連携設定完了後の挙動について、特殊なケースの仕様を下記にまとめます。

レコード数「0件」もしくは「0バイト」のデータファイルを連携した場合

連携回数

データの更新方法

説明

初回連携

全件/差分更新

「0レコード」の場合は連携可能。「0バイト」の場合は連携不可(取り込み設定画面で扱うデータがない)

2回目以降の連携

全件更新

「0レコード」「0バイト」のいずれも連携可能(連携後のデータファイルは「0レコード」)

2回目以降の連携

差分更新

「0レコード」「0バイト」のいずれも「更新対象なし」と判断され、連携前後でデータファイルに変化なし
レコード件数表示の上限
連携設定をクリックした際に表示されるファイル一覧において、各ファイルのレコード件数の上限"表示"は100件までです。b→dashの仕様上、データを連携しただけの状態では上限100レコードまでしか読み込まないため表示も100件までですが、100件を超えたレコードを読み込んでいないだけで、100レコードしか連携されていないわけではありません。
連携されたデータをb→dashに取り込み設定をすれば、ファイル内の全レコードが読み込まれます。