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導入