SFTP(RSA)でファイル転送(送信)する方法

カテゴリ SFTP コアバージョン 8.4x 関連モジュール SFTP RSA

phpseclibを利用

use phpseclib\Net\SFTP;
use physiclib\Crypt\RSA;

接続仕様

$ssh_host = ホスト名 or IPアドレス
$ssh_port = ポート番号
$ssh_user_id = ユーザーID
$ssh_password = パスワード認証の場合 パスワード
$rsa_file_path = 鍵認証の場合 プライベート鍵ファイルへのパス
$csv_share_directory = 送信先ディレクトリ

実行

$sftp = new SFTP($ssh_host, $ssh_port);
// password or rsa.
$key = $ssh_password;
if (!$key) {
  $key = new RSA();
  $rsa = file_get_contents($rsa_file_path);
  if (!$rsa) {
    $this->putError(t('rsaファイルが読み込めませんでした。@file', ['@file' => $rsa_file_path]));
  }
  if (empty($this->getError())) {
    $key->loadKey($rsa);
  }
}
// login.
if (empty($this->getError())) {
  if ($sftp->login($ssh_user_id, $key)) {
    // put file.
    $sftp->put("$csv_share_directory/$file", $data);
  }
  else {
    $this->putError(t('SSHログインに失敗しました。'));
  }
}

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ降順で並び替える Core Ver. 関連モジュール タイトル
コンテンツの管理 8.6.x Commerce Commerce orderからすべての商品名を取得する方法
コンテンツの管理 8.5.x Field File コンテンツのフィールドの表示について
コンテンツの管理 8.9.x 写真の変更を行いたい
コンテンツの管理 8.4x Entity EntityをPropertyで探す(クエリする)方法
コンテンツの管理 7.15 Content Access 簡単に閲覧制限を行うには?
コンテンツの管理 7,51 Views Data Export Views Data ExportでCSVデータが欠けてしまう
コンテンツの管理 8.9.x Dialog Modal Canvas drupal 8 の標準機能のダイアログ/ポップアップを表示する方法
コンテンツの管理 7.16 PHP 好きなところにノードを埋め込みたい
コンテンツの管理 7.15 Views Bulk Operation 標準のコンテンツ編集/ユーザ一覧ページが物足りません
コンテンツの管理 7.15 Pagenation 一つの長いページをBookなどのように連続して読ませることはできますか?
コンテンツの管理 8.4x Action カスタムアクションを作成する方法
サイトの構築 7.41 Rules Paygent モジュールについて
サイトの構築 7.23 Conditional fields ノード編集フォームを動的にしたい
サイトの構築 7.34 ECK Entityの使い方について
サイトの構築 8.9.x Webform drupalを使用した登録、一覧表示の方法について
サイトの構築 7.22 Views Devel Viewsの設定ページが変に?
サイトの構築 7.31 Views ブロックViewsの絞り込みが表示されない
サイトの構築 7.50 Module Missing Message Fixer モジュールをアンインストールしたらエラーがでるようになった
サイトの構築 8.3x Webform Webformモジュール メールアドレスの入力ミス確認
サイトの構築 7.27 Context block ページ別、カテゴリ別等でブロックの表示有無を簡単にするには

ページ