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. 関連モジュール昇順で並び替える タイトル
サイトの環境設定 7.59 さくらのレンタルサーバー php Options さくらのレンタルサーバーで パブリック/プライベートディレクトリにファイルが書き込まれないとき
フォーム 7.16 Webform, Mail System, Mime Mail, Jp Mail Helper 送信メールのサブジェクトが長いと文字化けする
Japanese mail 7.15 Webform, Mail System, Mime Mail, Japanese Mail Helper Webformから文字化けしないメール送信を行うには
フォーム 7.15 Webform Template Webformを複写したい
アップデート 7.15 Webform Backup_and_Migrate drupal7.12 -> drupal7.14アップデートメモ
フォーム 7.34 Webform 動的なフォーム(webform)
フォーム 7.15 Webform Webformで確認画面
フォーム 7.15 Webform Webform - 確認ページの多言語化
フォーム 7.38 Webform Webformモジュールをアップデートしたら「このフィールドを入力してください」
サイトの構築 8.3x Webform Webformモジュール メールアドレスの入力ミス確認
コンテンツの作成 7.38 Webform Webformでテーブル形式にしたい
フォーム 7.43 Webform フォーム関数が実行されるタイミングについて
フォーム 8.7.x Webform WebformのCheckboxの要素にて表記の変更
フォーム 7.15 Webform WebformのEntity Translation
css 7.38 Webform Webfomの送信内容確認ページで表示が崩れる
サイトの構築 8.9.x Webform drupalを使用した登録、一覧表示の方法について
フォーム 7.38 Webform Webformでタクソノミーを参照したい
コンテンツの作成 8.9.x vim nkf ファイルのエンコーディングを確認、変更する方法
言語 7.28 vim vimで全角が化けてしまう
表示 7.34 Views Infinite Scroll Facebookページのようにスクロールするとコンテンツが追加されるようなコントロール

ページ