WinSCPのインストール
概要:SFTP(SSH File Transfer Protocol)とは、セキュアなFTPである。SSHのように暗号化された通信路において、認証とファイル転送が行われる。 FTPをSSHポートフォワーディングした場合、暗号化されるのが認証のみであるのに対し、SFTPは認証とファイル転送の両方が暗号化されるのが特徴である。 SFTPはSSHと同様に、公開鍵方式の認証が行えるので、SSHの認証用に作成した公開鍵・秘密鍵を使う事ができる。
SFTPはSSHのサブシステムであり、SSHデーモンを起動していればサービスを提供できる(別途FTPデーモンを必要としない)。使用するポートもSSHと同じ22番ポートであり、余計なポートを開く必要がない。但し、暗号化するために負荷が大きく、FTPほど転送速度が速くない。以上の利点をまとめると
- 新たにFTPサーバーを構築する必要がない。
- 新たにポートを開放する必要がない。
- より安全な鍵方式によるログインが行える。
- デフォルトで通信内容が暗号化される。
クライアントからSFTPを利用するには、Windows の場合はWinSCP・FileZillaなど 、Linux の場合はsftp コマンドを使用する。
ここではWinSCPのインストール方法を紹介する。
前提:
1. WinSCPインストール
WinSCPダウンロードページ[http://winscp.net/eng/download.php]からInstallation packageをダウンロードしてインストールする。
2. 鍵ペア(公開鍵/秘密鍵)の作成とセットアップ
PuTTYgenによる鍵ペア(公開鍵/秘密鍵)作成を参照。
3. WinSCP設定
- ) スタートメニューよりWinSCPを起動。
- ) セッションの設定
ツリーメニューの「セッション」を選択。
ホスト名⇒サーバー名(例:centos.com)
ユーザ名⇒ユーザ名
秘密鍵⇒鍵ペア作成時に保存した秘密鍵を選択
- ) SFTPの設定
ツリーメニューの「環境」⇒「SFTP」を選択
「SFTPサーバ(V)」⇒「デフォルト」を選択
優先するSFTPのプロトコルバージョン(P)」⇒「5」を選択
- ) ツリーメニューの「環境」⇒「ディレクトリ」を選択
「リモートディレクトリ」にログイン時に開くサーバー側ディレクトリ(「/public_html」等)を指定
注:上記はchrootユーザーの場合のみ
- ) その他はデフォルトのままで保存ボタンを押下する。
4. WinSCP確認
- ) スタートメニューよりWinSCPを起動し、ログインボタン押下
※警告ウィンドウが表示されるが、"はい"ボタンを押下する。(サーバーへの初ログイン時のみ)
- ) パスフレーズの入力ウィンドウが表示されるので、鍵ペア作成時のパスフレーズを入力してOKボタンを押下する。
5. ログインユーザー自身のホームディレクトリ以外を参照できないようにするためには、SSHサーバーのchroot設定を行なう。
注1:Linuxでログインして書き込めるようにしないとFTP上でも書き込めない。
ホームディレクトリのパーミッションに注意すること。必要に応じてchgrpとかchmodでパーミッションを変更する。
注2:SFTP サービス(sftp-server)は、OpenSSH のインストールと同時に組み込まれており、 SSH デーモンを起動すると同時に起動する。
SFTP サービスを提供したくない場合には、/etc/ssh/sshd_config の以下の行を# でコメントアウトする。 設定を反映させるには、sshd の再起動が必要である。
Subsystem sftp /usr/libexec/openssh/sftp-server
↓
#Subsystem sftp /usr/libexec/openssh/sftp-server
FileZilla導入