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

最終更新日: 2014.02.19

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

■概要

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

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

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

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


■WinSCPインストール

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

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

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


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


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


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


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

■Poderosa鍵からWinSCP用鍵を作成

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

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


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


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


OK


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

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

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

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

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

[fedorauser@fedora ~]# vi ~/.ssh/authorized_keys ← 公開鍵をauthorized_keysに保存
ssh-dss xxxxx・・・xxxxx ← クライアント側で作成した公開鍵の中身を全てコピーして貼り付ける
※貼り付けは、Poderosaを当サイトどおりに設定している場合、右クリック

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

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

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

[root@fedora ~]# vi /home/fedorauser/.ssh/authorized_keys ← 公開鍵をauthorized_keysに保存
ssh-dss xxxxx・・・xxxxx ← クライアント側で作成した公開鍵の中身を全てコピーして貼り付ける
※貼り付けは、Poderosaを当サイトどおりに設定している場合、右クリック

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

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

■WinSCP設定

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


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


ツリーメニューの「環境」⇒「SFTP」を選択⇒「Server does not use UTF-8」で"オフ"を選択
※上記はシステムの文字コードがUTF-8(Fedoraデフォルト)の場合のみ



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


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

■WinSCP確認

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




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





■関連コンテンツ




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

プライバシーポリシー