|
| sshファイル転送2つの方法、scpとsftp |
scpの特徴は? |
図1はscpが動いているときのイメージを図にしたものです。利用者がサーバにあるファイルを取り出す指定をすると、scpのクライアントプログラムはsshサーバに接続して、「『自分あてにファイルを送る』コマンドを起動しなさい」という命令を送ります。
![]() |
| 図1 scpの利用イメージ |
命令を受け取ったsshサーバは、シェルと呼ばれるプログラムを起動し、そのシェルが「sshの通信路を使ってファイルを送り返す」プログラムを起動します。これにはscpという名前のプログラムを使います。プロトコルと同じ名前が付いたプログラムです。
このscpは指定のファイルを読み出して、同じ通信路に流し込みます。するとそのデータはscpクライアントに届きます。scpクライアントはこれを保存してゆくことで、ファイル転送を実現します。
このときscpクライアントプログラムとsshサーバプログラムの間は、sshによる通信路を使っていますので、誰かに盗聴されても内容は分かりませんし、改ざんすることもできません。またsshの接続をするときに正しいサーバか、正しいユーザーかを確認しますので、なりすましも防ぐことができます。つまり、安全にファイル転送ができたことになります。
ちなみにscpのプロトコルは、rcpという暗号化機能のないファイル転送用のプロトコルがベースになっています。これをsshの安全な通信路でやりとりすることで、安全なファイル転送を実現しています。
「UNIXスタイルのシェルで動かす」って何ですか? |
シェルは、UNIX系のシステムで使われている、コマンド処理プログラムのことです。Windowsでいうところの「コマンドプロンプト」に相当するものと考えると分かりやすいでしょう。ちなみに「コマンドプロンプト」とシェルを比べると、コマンドの種類はもちろん、その書き方も違います。このシェルを使うのはscpの特徴の1つです。
sftpの特徴は? |
ではsftpはどうでしょうか? sftpが動いているときのイメージを図2に示します。
![]() |
| 図2 sftpの利用イメージ |
利用者がサーバにあるファイルを取り出す指定をすると、sftpのクライアントプログラムはsshサーバに接続して、「sftpサーバを起動して接続しない」という命令を送ります。
命令を受け取ったsshサーバは、sftpサーバプログラムを起動して、クライアントとの間に通信路を準備します。
この後、クライアントはsftpサーバに対して、sftpのコマンドを送り、必要なファイルを取り出します。コマンドには「ファイルを開く」「ファイルを閉じる」「ファイルを読み出す」「ファイルを書き込み」といったものがあります。
ファイル転送を途中で止められるsftp |
sftpでは、通信路をつないだ後に、コマンドを送るスタイルを取っていますので、1つのコマンドが終わった後に、次のコマンドを送ることができます。そのため、ファイル転送を途中で止めたり、途中から再開したり、ファイル転送をいろいろとコントロールできる特徴があります。
sftpの場合も同様に、sftpクライアントプログラムとsshサーバプログラムの間は、sshによる通信路を使っていますので、盗聴などの心配はありません。
| 軽快さをウリにするscp、高機能をウリにするsftp |
scpとsftpの違いを一目で見たいのですが |
表1にscpとsftpの特徴を比較してみました。この表はWinSCPのWebページにある比較表を参照して、主要部分を抜き出して日本語化、また一部追記したものです。薄緑の背景は、一般的に考えて優れていると思われる方を表しています。
|
|||||||||||||||||||||||||||||||||
| 表1 scpとsftpの比較 (参照) http://winscp.net/eng/docs/protocols ※一般的に考えて、優れていたり汎用的と思われる方の背景色を薄緑にしています。どちらも同様の機能を備える項目、またその項目が短所長所の両面を持っていて甲乙つけ難いものは両方の背景を薄緑にしています |
発表時期はscpの方が古いのですが、特徴を比較する限りは、どちらか一方がずばぬけて優れているというわけではないようです。人によって見方は違うかもしれませんが、一言でいうなら軽快さをウリにするscp、高機能をウリにするsftp、といったところです。
興味深いのは、サーバの環境です。scpはサーバにUNIXスタイルのシェルを備えている必要があります。それに対してsftpはUNIXスタイルのシェルは不要です。さまざまなOSへの対応のしやすさはsftpに軍配が上がるようです。
また大きなファイルを取り扱う必要があるときにはscpでは対応できないことも起こり得ますので注意が必要です。
すべてのsshサーバがscpとsftpに対応しますか? |
sshサーバにはフリーで配布されているものと商品として販売されているものがあります。フリーで配布されている代表的なsshサーバ「OpenSSH」については、scpとsftpの両方の機能を持っています。一方、市販品のsshサーバの中には、sftpにのみ対応し、scpには対応していないものもあるので注意が必要です。
sshバージョン1や2との組み合わせは? |
sshのプロトコルには大きく2種類あります。それぞれバージョン1、バージョン2と呼びます。sshバージョン1はいくつか問題点が見つかり、使われない方向にありますが、まだ使われています。
scpはsshバージョン1対応のプログラムの一部として、sftpはsshバージョン2対応のプログラムの一部として発表されました。しかしながら、sshバージョン1とsftpを組み合わせて使うことも、sshバージョン2とscpを組み合わせて使うこともできます。
代表的なクライアントは? |
Windowsで利用できる代表的なクライアントプログラムでは、何といっても「WinSCP」が有名です。WinSCPはhttp://winscp.net/eng/docs/lang:jpからダウンロードできます。WinSCPでは、転送プロトコルとしてscp、sftpの両方に対応しています。またsshのバージョンに関しても、バージョン1と2の両方に対応します。画面1は、これらの情報登録画面で、ホスト名やユーザー名などともに、使用するプロトコルを指定しているところです。「sftpが使えないときにはscpを使う」という設定も可能です。
![]() |
| 表1 WinSCPの設定画面 |
| 目次 | |
| 安全なファイル転送とは 安全なファイル転送って何ですか?/安全に行うにはどうするのでしょうか?/sshとファイル転送/sshはリモートコンソールではないのですか?sshのファイル転送は1種類だけですか? | |
| 軽快さをウリにするscp、高機能をウリにするsftp scpの特徴は?/「UNIXスタイルのシェルで動かす」って何ですか?/sftpの特徴は?/ファイル転送を途中で止められるsftp/scpとsftpの違いを一目で見たいのですが/すべてのsshサーバがscpとsftpに対応しますか?/sshバージョン1や2との組み合わせは?/代表的なクライアントは? | |
| 関連リンク | |
| 連載:インターネット・プロトコル詳説 | |
セキュリティプロトコルマスター バックナンバー
TCP/IPアレルギー撲滅ドリル
TCP/IPへのアレルギーを撲滅すべく、試しながらナットクしていただく超実践型入門ドリル。
- 第1回 telnetでWebサーバに接続してみよう
- 第2回 HTTP語でWebブラウザとしゃべってみよう
- 第3回 SMTPでメール送信の舞台裏をあやつる
- 第4回 ちょっとジミなPOP3でメールを読む
- 第5回 器用な二刀流、FTPでファイル転送!
- 第6回 覗いてみればディープな世界 DNS
- 最終回 知れば知るほどDNSは不思議な海へ
TCP/IPアレルギー撲滅ドリル【下位レイヤ編】
正確で確実な通信をするための下位レイヤプロトコル。あなたはTCP/UDP/IP/ARPを制覇できるか?
- 第1回 TCPの迷宮をさまよってみませんか?
- 第2回 ITオンチにTCPのセボネを見る
- 第3回 分かるスライディングウィンドウ、見えるEhtereal
- 第4回 ウィンドウは主導権と良心のはざまで
- 第5回 それでも不正確なデータを受け取ったらどうするの?
- 第6回 EtherealでリアルなTCPの動きを観察する
- 第7回 「アイピー」ってなんですか?
- 第8回 不確実なIP通信をカバーするうまい方法とは
- 第9回 データの過保護をお望みでないならUDPで
- 第10回 arpはネットワークで何を「叫ぶ」?
TCP/IPアレルギー撲滅ドリル【総まとめ編】
ウェブブラウザでウェブページが見られるまでの各プロトコルの動きをパケットになった気分で冒険してみよう
- 第1回 Webページを見せるまでのパケット君の冒険
- 第2回 パケット君がWebページ表示の冒険に失敗するとき
- 第3回 Etherealでパケットの実物を捕まえ中身をのぞき込もう
- 第4回 Etherealでarpパケットをのぞき込もう
- 第5回 DNSへの問い合わせをEtherealでのぞき込む
- 第6回 Webアクセス中のHTTPパケットの中身をみる
| 「Master of IP Network総合インデックス」 |
TechTargetジャパン
- 実機では測定できない性能を測定? (2012/2/7)
システムの完成前に、達成し得る性能値や必要なサーバリソースを知るには? その解となる「性能シミュレーション技法」を解説 - 性能チューニング個所の検討 (2012/1/30)
アプリのチューニングや環境増強で、どの程度改善が見込める? 今回からは「実際に活用できる性能対策」を解説します - 遅いところを直すだけでいいのですか? (2012/1/24)
負荷が集中したときの性能ボトルネックを改善するのに、アプリケーションサーバとDB、どちらを優先すべきでしょう? - cloudfoundry.comを使ってみよう (2012/1/19)
VMwareが提供するPaaSプラットフォーム「CloudFoundry」。注目を集めるこの基盤を活用してPaaSを構築!
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



