Windowsからサーバーへ安全にファイル転送(WinSCP)

最終更新日: 2012.06.22

<<トップページ <<新着情報 <<サイト内検索 <<CentOSで自宅サーバー構築 <<Fedoraで自宅サーバー構築

■概要

サーバーへのファイル転送手段として通常はFTPを使用することが多いが、下記に示す理由により、SSHのSCP機能を利用してファイル転送を行うようにする。

・FTPサーバーを構築する必要がない
・FTPサーバーのために外部向けに余計にポートを開放する必要がない
・ログイン方式としてパスワード方式より安全な鍵方式によるログインが行える
・デフォルトで通信内容が暗号化される

ここでは、WindowsのFTPクライアントとしてメジャーなFFFTPと同様の操作性でファイル転送が行えるWinSCPを使用して、Windowsからサーバーへファイル転送できるようにする。

SSHサーバー構築済であること


■WinSCPインストール

WinSCPダウンロードページからInstallation packageをダウンロードしてインストールする。

■鍵ペア(公開鍵/秘密鍵)作成※TeraTermで使用している鍵を流用する場合は次項を参照

スタートメニュー⇒プログラム⇒WinSCP⇒鍵関連ツール⇒PuTTYgenで、鍵ペア作成ツールを起動する


ParametersSSH2DSAを選択してGenerateボタン押下


Keyエリアでマウスを動かす※最適な乱数を発生させるため


Key passphraseConfirm passphraseに任意のパスフレーズ(SSHサーバーへのログイン時に指定するパスワード)を入力してSave private keyボタンを押下し、適当なファイル名で保存する⇒これが秘密鍵
※秘密鍵は盗聴されないよう、持ち運びする際はネットワーク経由ではなくフロッピーやUSBメモリ等の可搬媒体に入れて持ち運ぶこと


Public key for pasting into OpenSSH authorized_keys file内の文字列を全て選択して適当なファイルにコピーして保存する⇒これが公開鍵
※公開鍵は盗聴されても問題ないので、持ち運びする際はメール添付やFTP転送等なんでもよい

■TeraTerm鍵からWinSCP用鍵を作成

TeraTermで使用している秘密鍵からWinSCP用の秘密鍵を作成する。

スタートメニュー⇒プログラム⇒WinSCP3⇒Key tools⇒PuTTYgenで、鍵ペア作成ツールを起動する


Loadボタン押下してTeraTermで使用している秘密鍵を選択


秘密鍵のパスフレーズ問合せウィンドウが表示されるので応答する


OK


Save private keyボタンを押下し、適当なファイル名で保存する⇒これがTeraTermの秘密鍵から作成したWinSCP用の秘密鍵
※秘密鍵は盗聴されないよう、持ち運びする際はネットワーク経由ではなくフロッピーやUSBメモリ等の可搬媒体に入れて持ち運ぶこと

■公開鍵セットアップ※TeraTermで使用している鍵を流用する場合は不要

作成した鍵ペアを使用してWinSCPでSSHサーバーへ鍵方式ログインできるようにするため、作成した鍵ペアのうちの公開鍵をサーバーにセットアップする。

(1)公開鍵セットアップ※ユーザがTeraTerm等のSSHクライアントを使用してSSHサーバーへログインできる場合
ここでは、ユーザがTeraTerm等のSSHクライアントを使用してSSHサーバーへログインして、自分で公開鍵をサーバーにセットアップする。
※例としてユーザ名をscientificuserとし、ユーザは作成済であるとする
[scientificuser@scientific ~]# mkdir -p ~/.ssh ← 公開鍵格納ディレクトリ作成

[scientificuser@scientific ~]# chmod 700 ~/.ssh/ ← 公開鍵格納ディレクトリのパーミッションを変更

[scientificuser@scientific ~]# vi ~/.ssh/authorized_keys ← 公開鍵をauthorized_keysに保存
ssh-dss xxxxx・・・xxxxx ← クライアント側で作成した公開鍵の中身を全てコピーして貼り付ける

[scientificuser@scientific ~]# chmod 600 ~/.ssh/authorized_keys ← authorized_keysのパーミッションを変更

(2)公開鍵セットアップ※ユーザがTeraTerm等のSSHクライアントを使用してSSHサーバーへログインできない場合
ここでは、管理者がTeraTerm等のSSHクライアントを使用してSSHサーバーへログインして、ユーザから受け取った公開鍵をサーバーにセットアップする。
なお、公開鍵はユーザからメール添付等で受け取り済で、管理者のWindowsクライアント環境に保存済であるとする。
※例としてユーザ名をscientificuserとし、ユーザは作成済であるとする
[root@scientific ~]# mkdir -p /home/scientificuser/.ssh ← 公開鍵格納ディレクトリ作成

[root@scientific ~]# chmod 700 /home/scientificuser/.ssh/ ← 公開鍵格納ディレクトリのパーミッションを変更

[root@scientific ~]# vi /home/scientificuser/.ssh/authorized_keys ← 公開鍵をauthorized_keysに保存
ssh-dss xxxxx・・・xxxxx ← クライアント側で作成した公開鍵の中身を全てコピーして貼り付ける

[root@scientific ~]# chmod 600 /home/scientificuser/.ssh/authorized_keys ← authorized_keysのパーミッションを変更

[root@scientific ~]# chown -R scientificuser. /home/scientificuser/.ssh/ ← 公開鍵格納ディレクトリの所有者を変更

■WinSCP設定

スタートメニューよりWinSCPを起動


「詳細設定」をチェック
ホスト名⇒サーバー名
ユーザ名⇒ユーザ名
秘密鍵⇒秘密鍵を選択



ツリーメニューの「環境」⇒「ディレクトリ」を選択
「リモートディレクトリ」にログイン時に開くサーバー側ディレクトリ(「/public_html」等)を指定
※上記はchrootユーザーの場合のみ


その他はデフォルトのままで保存ボタン押下

■WinSCP確認

(1)スタートメニューよりWinSCPを起動し、ログインボタン押下
※警告ウィンドウが表示されるが、"はい"ボタンを押下(インストール後最初のログイン時のみ)




(2)パスフレーズの入力ウィンドウが表示されるので、鍵ペア作成時のパスフレーズを入力してOKボタン押下









▲このページのトップへ戻る

LPIロゴ Copyright© 2011-2017 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします