このページの本文へ

Windows Info 第460回

Windowsでsftpを使う

2024年12月15日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 UNIX由来のコマンドとしてftp(file transfer program、コマンド名は小文字で表記する)がある。これは、FTP(File Transfer Protocol。通常プロトコル名は大文字にする)を利用し、ファイルの転送をするものだ。

 一般的には、ftpクライアントとftpデーモン(ftpdなど デーモンは、バックグラウンドで動作するプログラムでWindowsのサービスに相当する)をFTPで接続して操作する。ファイルシステムは、ftpサーバー側でアクセスするため、クライアントと異なるファイルシステム、たとえば、WindowsとLinuxなどの間でもファイル転送が正しくできる。

 sftp(secure file transfer program)は、SSHが作るクライアントサーバー間の暗号化通信経路を使って、SFTP(Secure File Transfer Protocol)を動かす。

 sftpコマンドは、UNIXのftpを参考にしているため、ほぼ似たコマンド体系を持つ。このため、ftpに慣れたユーザーなら利用に戸惑うことはないだろう。

 SSHでは、当初からscp(secure cp)コマンドが搭載されていた。scpは、UNIXのファイルコピーコマンドであるcpをSSHで暗号化したものだ。ただし、相手はSSHサーバーになる。ローカル内でのscp利用は無意味である。

 以下の表は、sftpの(サブ)コマンドを分類したもの。

SFTP

 sftp/ftpは、起動したのち、サブコマンドを使ってファイル転送操作をする。ただし、ファイルにコマンドを並べた「マクロ」を使うこともできる。ここでは、主要なコマンドのみ解説する。サブコマンドは、大きく、sftpコマンド、ファイル転送コマンド、リモートファイルシステム操作、ローカルファイルシステム操作の4つに分類できる。

SFTPの基本的な使い方

 通常は、sftpコマンドを起動したら、サブコマンドを使って、ファイル転送をする。この操作は、利用できるコマンドがsftpのものに限定されるが、基本的には、bashなどのシェル上でのファイル操作と変わらない。

 sftp内では、ローカル側に対するファイル関連サブコマンド(llsやlcdなど)と、リモート側に対するサブコマンド(lsやcdなど)がある。基本的には、ローカル用サブコマンドは、小文字のL(“l~”)で始まり、リモート側のコマンドには小文字のLは付かない。イメージ的には、リモート側でファイル操作をしており、ローカル側の操作が特別扱いされている。

 なお、ローカル側での操作は、シェルに抜けることができる「シェルエスケープ」機能がある。これにより、ローカル側で、普通にコマンドが利用でき、たとえば、転送前にファイルの整形するなどの操作も可能だ。

 転送は、put(ローカルファイルをアップロード)、get(リモートファイルのダウンロード)コマンドを使う。標準では、サブディレクトリやその中のファイルを含めたディレクトリ構造を転送しない。ディレクトリ構造を転送したい場合には「-R」オプションを指定する。また、-pフラグを指定することで、ファイルのパーミッションと最終更新日時もコピーされる。

 -fフラグを使うことで、ファイルの転送後にfsyncコマンド(ファイルシステムの更新)もしくは同等の機能が起動される。一般にファイルシステム処理は非同期になされるため、ファイルの転送直後のファイル関連の処理(たとえば、lsコマンドや転送したスクリプトの実行など)では、ファイルシステムが更新されておらず、旧ファイルへのアクセスになってしまうことがある。

 fsyncは、非同期で未実行となっている処理を起動し、ファイルシステムを最新状態にする。なお、何らかの原因でput/getコマンドが中断されたとき、reput/regetコマンドで、再開させられる。

sftpを起動する

 sftpコマンド自体に指定する主なオプションを以下の表に示す。

SFTP

 オプションは、IPv4やIPv6利用の強制やマクロファイルの指定などがある。接続先は、SSHと同じく「ユーザー@サーバー」で指定でき、「-A」オプションを使うことで、ssh-agentを使ってログインできる。このあたりは、sshクライアントと同じ。また、いくつかのオプションは、引数がsshクライアントに直接渡される。

 また、リモート側のファイルパスなとが明らかであれば、scpコマンドでファイルが転送できる。慣れているなら、こちらの方がコマンド1行で済むため、効率がいい。前述のように、scpコマンドはsftpを利用して実装されているため、セキュリティ的にも問題はない。

 scpコマンドは、

scp␣[オプション]␣ソースファイル␣ターゲットファイル

とする。ソースファイル、ターゲットは、以下の形式で指定する。

[<ユーザー名>@]<ホスト名>:[<ファイルパス>]

 また、scpコマンドのオプションは、以下の表に示す。

SFTP

 scpはデフォルトでは、SFTPの機能を利用して動作するため、多くのオプションが共通になっている。ただし、古いscpプロトコルを使うこともできる。これは、古いマシンなどで新しいバージョンのsshが利用できない場合などに利用する。

 sshで接続できるホストなら、sftp/scpが必ず利用できる。コマンドラインで実行するため、エクスプローラーなどGUIでリモートファイルシステムをアクセスするよりも高速にファイル転送できる。

 準備としてはsshで接続できるようにしておくだけだ。事前に試しておけば、何かあったときに、高速にファイルコピーができ、助かることがある。

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
2
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,980
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
4
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
5
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,100
6
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥743
7
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥2,111
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥4,918
9
【Amazon.co.jp限定】バッファロー microSD 128GB 100MB/s UHS-1 U1 microSDXC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-128U11HA/N
【Amazon.co.jp限定】バッファロー microSD 128GB 100MB/s UHS-1 U1 microSDXC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-128U11HA/N
¥3,080
10
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
¥652

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン