お知らせ

  • パソコン関連

FTPを使うのをやめた方がいい理由

noimage

FTPを使うのをやめた方がいい理由

主にWebサイトのアップロード・公開のためにFTPは長年利用されてきました。 しかし近年SSHを利用したSFTPの利用が進んでおり、セキュリティの安全性で桁違いのものになります。 セキュリティを重んじるのであればFTPを使わざるを得ない場合以外はSFTPを利用すべきです。 セキリュティの大きなポイントとしてSFTPはパスワードによる認証を拒否するという設定ができます。 公開鍵方式のログイン以外をシャットアウトできるのです。 FTPはパスワードのみの送信で、かつパスワードの送信は暗号化されていない平文のものです。 FTPのパスワードは辞書を利用したものや総当たりでパスワードを突破する方法をとることが可能です。 またフリーWi-Fiなどでパスワードを送信した場合平文であるためにどこかの部分で盗聴される危険性があります。 十分に複雑なパスワードでも使い回しなどをしている場合は辞書を利用した攻撃で突破されてしまいます。 十分に複雑なパスワードでなくともユーザーが設定が可能なため、すべての利用者に複雑なパスワードを強要する仕組みもまたありません。 公開鍵方式のログインを突破する方法は現状不可能に近いものです。 これは現在の計算能力に優れたコンピュータでも暗号解読のために百年以上の長い時間が必要であるため、公開鍵方式の暗号は世界各所の政府・企業などあらゆるところで利用されています。 FTPを今後も使うという場合はあると思われますが、SFTPの方が絶対的に安全であることを常に意識し、可能であれば早く移行してしまうべきです。

  • らずぱいでIoT

らずぱいでIoT 番外編1(Windows10でsshが標準に!)

noimage

らずぱいでIoT 番外編1(Windows10でsshが標準に!)

なんと驚きました。 Winodws10のコマンドプロンプトからsshが標準で使えるようになってました。 ネタ元 http://www.atmarkit.co.jp/ait/articles/1811/22/news018.html sshだけではなく cURL や tar も使えるようになっているようです。 sshクライアント環境はほぼフルでそろっているようでsftpやssh-keygenも入っているようです。 これは、sshの公開鍵接続も可能になっているという事だと思われSSHを介してLinuxサーバー上にある様々な情報を得ることができます。 ちなみに、下記の画像はコマンドプロンプトからローカルサーバーに接続した例です。 これでCygwinのない環境でもsshがWindowsから使えるようになりました。 これを使うとラズパイにもすぐつながりますね!!

  • パソコン関連

コンピュータのリモート操作

noimage

コンピュータのリモート操作

コンピュータをリモートで操作することは、コンピュータの誕生以来とても重要なことです。 Unixが1つの大型のコンピュータを複数の端末から利用することを想定して作られていますので、LAN内の個々の端末からTelnetを利用することが基本的な使い方でした。 TelnetでUnixのサーバにログインし、ファイル操作やプログラムの実行、作成をリモートで行います。クライアントサーバ型のコンピュータで必須のソフトウェアでした。 現在のPCのようなGUIが前提でなく、文字ベースのCUIというインターフェースでのリモート操作です。 やがてリモートが公共のインターネット回線などを通じて行われるようになり、全文を暗号化しない平文テキストで送信するTelnetでは危険だということになりました。 Telnetの替わりとしてはSSHというソフトウェアが推奨され、広く使われています。 このリモート操作は悪用する場合にターゲットにされやすく、サーバを設置すればほとんどの場合どこからか自動攻撃プログラムからログイン試行が行われます。 ここで管理者権限でのログインを許していると、パスワードを突破されればすぐにサーバが乗っ取られてしまいます。 管理者でのログインを不可能に設定し、パスワードはなるだけ複雑で、仮にユーザーとしてログインしてもさらに複雑なパスワードでないと管理者権限が取れないようなら、攻撃が成功する可能性は限りなく低くなります。 IPアドレスを固定して接続を許可するのも良い方法で、拠点の固定IPからしかログインできないようにすれば、その他からのログイン試行は拒絶されます。 またパスワードを用いず、暗号鍵を利用する方法がセキュリティとして推奨されます。 暗号鍵方式であれば端末に保管された暗号鍵でないとサーバーにログインできなく、他からこれを突破するためには理論的に数百年以上の時間が必要となり、攻撃者は諦めざるをえません。 攻撃の続くIPを自動的に拒否リストに入れる仕組みなどもあり、きっちり設定すれば完全とも言えるリモート接続環境を作ることができます。

  • シスキュー技術部

Windows PowerShellがSSHをサポートの方針

noimage

Windows PowerShellがSSHをサポートの方針

MicrosoftがPowerShell BlogでOpenSSHへの対応の方針を明らかにしました。 http://blogs.msdn.com/b/powershell/archive/2015/06/03/looking-forward-microsoft-support-for-secure-shell-ssh.aspx (英文) Windowsを使っていて、SSHが標準で使えないことが筆者としては一番不満足に思うところでした。 SSHは暗号化した回線で他のコンピュータをリモートコントロールする手法です。 LinuxなどUNIX系のOSでは標準的に使われているもので、公開鍵による認証、リモートコントロール、暗号化されたFTP、SSHの接続を利用した他のポートへの接続など、様々な便利で使い易い機能が含まれています。 PuttyやTeraTerm、WinSCPなどを使えばSSHのサーバーに接続することができましたが、標準機能で鍵の生成などもできるようになるのであれば、このアプリをダウンロードして、この鍵生成ツールを利用して、という手順をものすごく簡略化できるようになります。 またOpenSSHのサーバーにもなるのであれば、さらにWindowsの使いやすさが向上します。 WindowsPowerShellからWindowsの色々な機能をCUIで実行できるので、マウスでウィンドウを開いていく操作に比べて素早い操作が可能になります。 なんでもリモートデスクトップで行うよりも、コマンドでさっと済ませてリモートセッションを閉じるという使い方がWindowsでできるのであれば、1日でも早く実現して欲しいと願う機能です。

  • パソコン関連

研修テキスト WordPressのインストール

noimage

研修テキスト WordPressのインストール

弊社もこの4月より新入社員を二名迎えることになりました。 その最初の研修として、WordPressインストールの方法を学んでもらいます。 そのテキストを公開します。 WordPressとは WordPressとは、現在さまざまなサイトで利用されている、CMS(コンテンツ管理システム)です。 コンテンツ管理システムとは、WEBサイト上のテキストや、画像、その他の情報を、アップロードや保存など、統合的に管理してくれるシステムです。 コンテンツ管理システムが登場する前は、テキストや画像などのコンテンツを手動で管理していましたが、コンテンツ管理システムが広がってから、WEBサイトの更新や構築はスマートに行えるようになりました。 アメブロや、ライブドアブログなどもCMSですが、Wordpressはオープンソースソフトウェアであり、だれでも取得して、独自で構築できるので、ブログ以外にも、さまざまな分野に利用されています。 企業サイトなどでも、カスタマイズされて多く利用され、システムキューブのコーポレートサイトもWordPressで作成されています。 WordPressをインストールする環境 これからWordPressをインストールしてもらう環境は、社内のサーバー機で動作する、Linuxの仮想マシンです。 仮想マシンとは、コンピュータの上で、別のコンピュータを動作させる仕組みです。仮想マシンを利用すると、まるで一台新しいパソコンを用意したかのように、動作するシステムを作り上げることができます。 仮想マシンですので、誰かが誤った操作をして、システム全体が動かなくなっても、途中で保存しておいた状態を復元することで、その段階まで戻すことができます。 仮想マシンから、仮想マシンがインストールされているシステムには影響を与えることができないので、なにか誤った操作で、社内のだれかが困ることはありません。そのために仮想マシンを使用しています。 ですので安心して、これからの操作を行ってください。 LAMP環境 WordpressはLinuxというオペレーティングシステム上で、ApacheというWEBサーバーを利用して動作します。 コンテンツを管理するためのデータベースはMySQL、WordPressはPHPというプログラミング言語で作成されています。 Linux+Apache+MySQL+PHPという言葉の頭文字をとって、LAMPという言葉をこれから何度も聞くことになるはずです。 このLAMP環境は基本的に無償で提供されているものを集めたものですので、知識さえあれば、機器を用意するだけで使用することができ、世界中の多くのWEBサービスはこのLAMP環境で動作しています。 FacebookやTwitter、Youtubeやmixiなど、さまざまなソーシャルネットワークなど、ほとんどがLAMPです。 今回WordPressの演習をしてもらう上で、このLAMP環境を事前に作っていますので、そこにログインして、WordPressをインストールしていきます。 TERATERMの導入 WordPressをインストールするサーバー環境へ、SSHという仕組みを作ってログインしてもらいます。 SSHとは安全にLinuxをリモート操作することのできる仕組みです。 ここからはアイコンや、マウスの使用をしない、コマンドラインというインターフェイスを利用して、サーバーとやり取りをします。 LAMP環境の構築はグラフィックでの操作ではなく、基本的にキーボードのみのコマンドラインを利用することになります。 今回はTera Termというアプリケーションを使います。 下記サイトより、TeraTermをインストールしてください。 http://www.forest.impress.co.jp/library/software/utf8teraterm/ これがサーバーをリモート操作する、SSHクライアントになります。 Windows用のSSHクライアントはPuTTYや、Poderosaといったものがあります。 インストールは下記の手順に従ってください。 契約内容をよく読み、同意して次へをクリック インストール先はそのままで次へをクリック 標準インストールを選んで次へをクリック 日本語を選択してクリック 標準のままで次へをクリック。 デスクトップにショートカットを作るようにしてクリック。 インストールをクリックしてインストールを行います。 SSHでLINUXに接続する TeraTermを起動して、下記のIPアドレスに接続します。 192.168.xxx.xxx これは仮想マシンに割り当てられたIPアドレスになります。 セキュリティ警告というのが出ますが、これは接続しようとしているサーバーが同じものかということを判別するためのホスト鍵指紋というものをうけとったことを示してます。 今回は社内のサーバーに接続するので不安はありませんが、今後社外のサーバーに接続するまでには、意味を調べておいてください。 ログイン名が求められるので、お渡ししたログイン名とパスワードを入力してもらいます。 ログインが成功すれば、このような文字が表示がされます。 ホームディレクトリという各ユーザーごとに割り当てられたディレクトリに入ります。 [bash] pwd [/bash] というコマンドで確認してください。 ディレクトリというのはWindowsでいうフォルダのようなものと考えてください。 データーベースの設定 まず、WordPressが利用するデータベースと、データベースユーザーを作成します。 ここで行うことは、この手順の中でも理解までに時間がかかる作業になりますが、指示通りに行ってください。 WordPressを独自に設置するためには必要な手順となります。 [bash] mysql –u root –p [/bash] でお教えするパスワードを入力し、MySQLにログインします。 これで管理者としてmysqlを操作できます。 この状態ではすべてのデータベースにたいして、あらゆる操作ができます。 間違って、動いているデータベースを丸ごと消去することもできます。 ですのでデーターベースを操作するには、必要な権限を持ったユーザーを作ることで、安全に利用することが必要になります。 ここではshimazakiというデータベースを作成し、shimazakiというユーザーを作って、このデーターベースに対する権限をすべて与えます。 まずは、Wordpress用のデータベースを作成します。 [text] create database shimazaki; [/text] このshimazakiの部分は、自分の名前にしてください。 Ouery OKと出れば成功です。 Query(クエリー)とは問い合わせ、データベースに対する指示です。これから仕事をするうえで、よく聞く言葉になります。 続いて、 [text] grant all privileages on shimazaki.* to shimazaki@sys-cube.co.jp identified by ‘パスワード’; [/text] と入力します。 翻訳すれば、 権限を与える(grant) 全て(all privileages)  データベースshimazaki内のすべてのもの(on shimazaki.*) を そのデータベースが動作しているサーバーにshimazakiというユーザーを(to shimazaki@sys-cube.co.jp) identified by ‘パスワード’;(‘パスワード’ で作成する) という意味合いになります。 これにもQuery OKがでれば成功です。 これでshimazakiデータベースにすべての権限を持つshimazakiアカウントが作成されます。 [text] show databases; [/text] と入力して、データベース一覧を見てください。今作成したデータベースがデータベース一覧の中で確認できます。 これでWordpressインストールのための、MySQLの操作は終わります。 [text] exit [/text] と入力して、MySQLから抜けてください。 WordPressのダウンロードとインストール これからの操作を行うために、とりあえず間違わないように、 cd と入力して、自分のホームディレクトリに戻ってください。 そこでWordPressの最新版をダウンロードし、展開し、web公開ディレクトリにインストールするまでを行います。 まず [bash] wget http://ja.wordpress.org/latest-ja.zip [/bash] と入力し、ダウンロードします。このlatest-ja.zipは常に最新版が置かれているアドレスですので、一番新しいバージョンが手に入ります。 wgetはWebなどで公開されているファイルをダウンロードするツールです。 ダウンロードが終わったら、 ls でディレクトリの中を確認します。 latest-ja.zipというファイルが見えるはずです。 これはzipというwindowsでも使われる圧縮ファイルですので、unzipで展開します。 [bash] unzip latest-ja.zip [/bash] すると、結構な量の文字が流れていき、ファイルが展開されるのがわかると思います。 これがCMS、WordPressのすべてのプログラムです。 ワードプレスの基本的な機能は、これだけのファイルで作られています。 最後まで展開されたら、 ls でディレクトリを確認してみましょう。 wordpress というディレクトリができています。 このディレクトリの内容を丸ごと、web公開ディレクトリpublic_htmlに移動しますします。 [bash] mv wordpress/* public_html [/bash] これで移動は完了です。 [bash] ls public_html [/bash] で確認すると、public_htmlにファイルが移動されているのがわかります。 次はWordPress設定ファイルの作成です。 WordPress設定ファイルの編集 [bash] cd public_html [/bash] でpublic_htmlディレクトリに移動し、 [bash] cp wp-config-sample.php wp-config.php [/bash] で設定ファイルをサンプルからコピーします。 これをviというエディタで編集します。 経験があれば、難しくはありませんが、初めてだと、戸惑うかもしれません。 [bash] vi wp-config.php [/bash] ここで画面が切り替わり、テキストエディタになります。 味気ない画面ですが、windowsのメモ帳のようなものと思って、気楽にいきましょう。 カーソルキーを使って、画面をスクロールさせていきます。 MySQL設定という部分に入ったら、ここから編集します。 編集モードにするにはiを押してください。編集モードから抜けるにはESCキーです。 define(‘DB_NAME’,’先ほど作ったデータベース名’); define(‘DB_USER’,’先ほど作ったユーザー名’); define(‘DB_PASSWORD’,’先ほど登録したパスワード’); これでWordPressをMySQLに接続させる準備はできました。 さらに画面をスクロールさせ、認証用ユニークキーという部分を見つけます。 ここではランダムな文字列を使って、不正なアクセスなどを行いにくくするための設定をします。 ここでTera Termを離れ、ウェブブラウザを開きます。 https://api.wordpress.org/secret-key/1.1/salt/ ここで乱数を自動的に生成してくれるので、これをすべてコピーします。 再びTera Termをに戻り、これを右クリックで貼り付けます。 もともとおかれていたdefine部分はバックスペースできれいに消しておいてください。 これでwp-configの設定は終わりです。保存方法は、ESCキーを押し :wq で上書き保存して終了です。 WordPressの起動と初期設定 これでTera Termによる操作は終わりです。 設定ファイルがうまく作れていれば、あとはWebブラウザからの操作になります。 それを確認するまで、TeraTermの接続は残しておくといいでしょう。 http://192.168.xxx.xxx/~ユーザ名/ でアクセスしてください。ワードプレスのロゴとようこそが表示されていれば、成功です。 サイトのタイトルと、adminのパスワード、メールアドレスを入力してください。 WordPressをインストールをクリックして、成功しました!という表示になれば、インストール完了です。 自分専用のWordPressをインストールすることができました。 ここまでできたら、教えてください。 管理者の私が、サーバーの管理者権限で必要な操作を少し行います。 ここまでの実習の意義 WordPressは個人のブログから、企業サイトまで、さまざまなサイトで利用され、Webを彩っています。 しかしこれらは基本、文字ベース(CUI)のLAMPサーバーで動作していることを理解してもらうことが大事です。 Webサイトは、ブラウザとWebサーバーがテキストをやり取りすることで、表示したり、入力したり、結果を返したりしています。 WordPress以外にもLAMP環境で動作するプログラムはたくさんあり、今後LAMP環境での開発などもお願いすることもあるはずです。 その時に常にSSHを利用してログインしなくとも、便利なツールを使うことで開発できますが、それは今回行ったような操作を自動で行うものである、ということを理解してもらうことが、ここまでの実習の意義です。 WordPressを使ってみる さっそくログインしてみましょう。 ユーザー名にadmin、パスワードに先ほどのパスワードを入力すれば、ダッシュボードという管理画面に移ります。 WordPressの操作はすべてこのダッシュボードで行えるようになっています。 投稿、新規追加を選んで最初の投稿をいきなり行ってみます。 一度でもブログというものを使ったことがあれば、簡単にわかると思います。 ここでタイトル、本文、を入力して、公開ボタンを押せば、公開されます。 投稿を公開しました。投稿を表示する、と上部に表示されるので、投稿を表示するをクリックします。 これで最初の投稿は完了しました。 これが今インストールしたばかりのWordPressの画面です。 ここで一つ注意してほしいのは、このブログは社内のネットワークの中でだけ公開されているものです。 普通のブログのように、世界中に公開されているものではありませんので、自宅のパソコンで見ることはできません。 社内の人だけが見られるWordpressですので、気後れせず、好きなようにカスタマイズして、投稿してもらうことが目的です。 ここで、これから知ったことや、学んだこと、その日行ったことなどを、投稿していってください。 社内のみんなが、これからの投稿を見て、あなたの理解度などがわかるようにしてもらえると、助かります。 たとえ間違ったことを書いていても、よっぽどおかしなことをしてしまってWordPressがうまく動かなくなっても、なんとかしますので気を楽にしてください。 テーマやプラグインをインストールしてみる 一番最初のカスタマイズを行います。 WordPressには、全体の見え方や構成を設定する「テーマ」と、機能を拡張する「プラグイン」で、用途に合わせたものに作り上げていきます。 企業向けのカスタマイズは、お客様の要望に応じて行いますので、既存のテーマをそのまま使うということはほとんどありません。 最初の一歩として、自分のブログの見栄えや機能を変更してみましょう。 ダッシュボードから外観を選び、テーマを選択します。 テーマのインストールのタブを選ぶと、いくつかのテーマが表示されます。 さまざまなテーマが用意されていますが、これから一つを選択します。 obandesというテーマを選んでみました。インストールを押すと、インストールが始まります。 インストールが完了すれば、有効化をクリックします。 これでブログを表示すれば、先ほど文字ばかりだったのが、ちょっと華やかなテーマに変更されています。 このテーマをもとに、たとえば、ヘッダ画像などを変更するなどで、自分向けにカスタマイズすることは、あまり難しくはありません。 今後の課題として、いろいろ試してみてください。 次はプラグインを追加してみます。 ダッシュボードのプラグインから、新規追加を選びます。 動画を表示するためのプラグインをインストールします。 Viper’s Video Quicktagsというプラグインを選択してみました。 検索してこのプラグインを見つけたら、今すぐインストールをクリックします。 インストールが終わったら、有効化します。 WordPressはテーマやプラグインをインストールしても、有効化、無効化で、利用できるかどうかを選ぶことができるようになっています。 これで投稿から、新規追加を行ってみます。 Youtubeのアイコンが追加されています。 このYoutubeアイコンをクリックし、お気に入りのYoutubeの動画のURLをテキストボックスにコピーし、Okayをクリックしてください。 [youtube][/youtube]で囲まれたYoutubeのアドレスが投稿部分に表示されます。 これでプレビューを見てみましょう。 Youtubeの動画が貼り付けられています。 公開を押して、公開してみてください。 プラグインを使わなくても、Youtubeの動画を張り付けることができますが、このプラグインのおかげで、URLをコピーするだけでかなり簡単に貼り付けができるようになったことがわかると思います。 プラグインはこのようなもので、用途に合わせて、WordPressの機能を強化していくものです。 実習の終わりに これから、いろいろなテーマや、プラグインを自由にインストールしてみてください。 なにか不具合があっても、社内ネットワークの外に出ていくことはありませんので、気にせず行ってください。 これで既存のプラグインで何ができるか、そして何ができないかを知っておくことが、これからお客様のご要望に応じて、WordPressのカスタマイズを行うときに、役に立ちます。 一つだけ注意点があります、WordPressの公式サイト以外からプラグインやテーマを持ってきて使うことは避けてください。 Webのさまざまな場所で公開されているテーマなどには、ウィルスや勝手に情報を送信してしまう有害なコードが含まれていることが多いです。 そのようなものを用いて何かあった場合、会社としての信頼を失ってしまうので、それはかならず避けてほしいです。 仕事として物事を進めるときには、信頼やセキュリティということを意識していくことが、大事になります。 今回の実習は気兼ねなくワードプレスを使ってもらうこと、基本的な仕組みを理解してもらうことが要点ですので、積極的に使ってみてください。 以上でWordPressのインストールの実習を終わります。 お疲れ様でした。

  • パソコン関連

WinSCPを利用した遠隔地バックアップ

noimage

WinSCPを利用した遠隔地バックアップ

この二十年ほどで、いくつかの大きな災害に見舞われ、拠点に被害が及んだ場合、社内の情報資産をすべて消失してしまう、といった出来事も起こっています。 複数拠点をもつ企業様であれば、拠点間のVPNや専用線を用いて、バックアップを行う体制をもつところも多いと思います。 このような複数拠点間VPNなどを持たない場合、どうしても業務遂行上必要な日常バックアップを、定期的に遠隔地に保管しておきたいという需要はあると思われます。 ディザスタリカバリなどという言葉もありますが、なんらかの対策の必要性を求められている方も、増えてきているのではないでしょうか。 ここで重要視されるのは、経路間の安全性確保、保管の安全性などになります。 経路の暗号化を確保したうえで、Windowsで始められる簡単なバックアップを考えてみます。 WinSCPとは WinSCPとはLinuxなどで標準的に取り入れらている、通信プロトコルSSHに対応したファイル転送クライアントです。 SSH接続機能のあるサーバに接続した後の操作は、一般的なFTPクライアントと、大きな違いはありません。 それならFTPを使ってレンタルサーバーなどに保存しても変わらないのではないか、と思われるかもしれませんが、FTPとSSHでは大きな違いがあります。 SSHは認証と経路の安全性を、暗号化により確保しています。 FTPは暗号化されていないユーザー名とパスワードを送信して認証し、ファイルの転送も暗号化されていません。 そのため、経路途中でだれかに盗聴されていても、気が付く方法はありません。 身近に起こる盗聴の例としては、誤った無線LANアクセスポイントに接続してやり取りした内容は、暗号化されていなければ盗聴されている可能性は十分あります。 SSHを利用した場合は、このような場合でも盗聴は不可能です。総当たり攻撃によるパスワードの突破や、経路途中の盗聴を防ぐ方法が用意されています。 他にWindows向けSSH利用のファイル同期アプリケーションとしてcwRsyncがありますが、フリーソフトから商用ソフトになりましたので、フリーソフトであるWinSCPを利用したフォルダの同期を行うこととします。 バックアップ先のサーバーについて ここではあらかじめ、公開鍵認証型のSSHサーバーが用意されていることを前提として、記述いたします。 サーバーの管理権限のない方は、サーバーの管理者と協調して設定してください。 レンタルサーバーでSSHを利用できるものもありますが、ほとんどがパスワード認証形式で、より安全な公開鍵認証方式によるものより、総当たりのパスワード突破攻撃に弱くなります。 同一価格帯でも、レンタルサーバーとVPS(バーチャル・プライベート・サーバー)では利用できるハードディスク容量はVPSの方が、多く割り当てられているものが多いので、設定には専門性が必要となりますが、VPSがお勧めできます。 WinSCPの設定方法 WinSCPのダウンロードサイトからWinSCPをダウンロードして、インストールを行います。 公開鍵と秘密鍵の作成 スタートメニューにWinSCPが登録されますので、鍵関連ツールからPuTTYgenを起動します。 ここで認証用の鍵を作成します。 ここでGenerateをクリックし、鍵の作成を始めます。 鍵のタイプは画面下の方、SSH-2 DSA 1024bitを選択します。 緑色のプログレスバーの下の空白を、マウスポインタでぐりぐりとしていると、ランダムな暗号が生成されます。 上部ボックスに表示されている、アルファベット数字記号の混ざったものが公開鍵です。 このボックス内をコピーして保存し、サーバーに公開鍵として登録します。 Key Passphareseには秘密鍵のパスフレーズを入力し、Save Public Keyと、Save Private Keyをクリックして保存します。 秘密鍵のパスフレーズはできるだけ長いことが求められます。 この秘密鍵と秘密鍵のパスフレーズが漏えいすると、SSHサーバーにアクセスできてしまいますので、管理できることろに保管します。 WinSCPでサーバーとの疎通確認 ふたたびスタートメニューから今度はWinSCPを起動します。 ログイン画面が出るので、ホスト名に接続先、ポート番号にSSHポート番号、ユーザ名にはサーバでのユーザー名、秘密鍵に先ほど作成した秘密鍵を指定します。 ここで保存をクリックすると、接続情報が保存されます。 ログインを押すと、サーバとの接続が始まります。 はじめて接続するサーバであると、サーバ鍵の指紋(フィンガープリント)が送られてきますので、これを鍵のコピーをクリックして、テキストファイルに保存し、はいをクリックします。 ここで登録されたサーバの指紋は保存され、今後同一のサーバーであっても指紋が違う場合は警告が表示されるので、接続経路の詐称に対応でき、サーバーの同一性が確保できるようになります。 ここで鍵作成時に登録した秘密鍵のパスフレーズを入力し、OKを押します。 認証が完了すると、WinSCPの操作画面が開きます。 ここでファイルを一つコピーして、書き込み権限などがあることを確認します。 これでWinSCPの作業は設定は終わります。 Pageantの設定 今回は自動的にバックアップ処理が動作することを目指しますので、バックアップの際に毎回秘密鍵のパスフレーズを入力することを省力するためにPagentを設定します。 鍵関連ツールの中にあるPageantを実行します。 Pageantは秘密鍵とパスフレーズの設定をしておくとWinSCPの認証時に、パスフレーズの入力を省略できるものです。 ここでAddKeyをクリックし、先ほど保存した秘密鍵を選択します。 パスフレーズの入力を求められるので、入力すると登録され、Pageantは常駐します。 この状態でWinSCPで先ほどのサーバーに接続すると、パスフレーズを入力せずに認証ができます。 Pageantを終了するたびに、鍵の登録はクリアされます。 WinSCPによる自動バックアップ WinSCPによるバックアップを自動化するために、次のことを行います。 ・Pageantをログイン時に自動起動 ・WinSCPを自動的に起動しファイルの同期 それぞれバッチファイルを作成し、タスクで起動させます。 Pagent自動起動バッチファイルの作成 メモ帳を開き、 [text] "C:\Program Files\WinSCP\PuTTY\pageant.exe" "C:\Users\Username\winscp\id_dsa.ppk" [/text] 上記のように、pageantの場所と、秘密鍵の場所を指定します。 Pageantの場所はデフォルトではこの場所になります(32bitWindows)。秘密鍵の場所は、保管されている場所を登録してください。 これを名前を付けて保存、ファイルの種類にすべてのファイルを選んで、pageant.batという名前でバッチファイルとして保存します。 バッチファイルを起動させて、タスクトレイに帽子をかぶったパソコンのアイコンで、Pageantが起動することを確認してください。 WinSCPバッチファイルの作成 まずWinSCPに送信するコマンドをファイルにまとめます。 同じようにメモ帳を開き、 [text] # バッチモードに設定し、確認/問い合わせを無効にする option batch on # ファイル上書きの確認などを無効にする option confirm off # サーバーに接続 open <a href="mailto:username@hostname">username@hostname</a> -hostkey="ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx" #サーバー側とファイルを同期 synchronize remote C:\Users\Username\Documents\backup\ /home/username/backup #接続終了 close #WinSCP終了 exit [/text] 上記を参考に、コマンドを作成し、テキストファイルとして保存てください。 -hostkeyには先ほど保存したサーバー鍵の指紋をコピーしてください。これで 設定方法については、詳しい参照先をご覧ください。 これをWinSCPへ入力するバッチを作成します。 [text] "C:\Program Files\WinSCP\winscp.exe" /console /script=C:\Users\Username\Documents\WinSCP-Batch.txt [/text] WinSCPの場所はデフォルトのままです(32bitWindows)。 /script以下には先ほど作成したコマンドのテキストファイルを指定し、バッチファイルとして保存します。 バッチファイルをクリックし、必要な動作が行われることを確認します。 タスクへ登録 スタート画面からアクセサリーシステムツールータスクスケジューラを起動します。 タスクに名前を付けます。 Pageantであればログイン時、WinSCPのバックアップであれば、毎日など必要な頻度を設定します。 バッチを実行するのでプログラムの開始を選択します。 バッチファイルの場所を設定します。 このような形で登録が完了します。 プロパティ設定で、必要であれば設定を行ってください。 設定後、Pageantと、WinSCPのタスクからの起動を確認できれば、完了です。 設定後のことなど 今回、比較的省コストで身近なもので、一定のセキュリティーを確保したバックアップ手段を試してみました。 経路暗号化には、SSH以外にも、VPNを使う方法もあり、VPNを利用して別拠点にファイルコピーを行うなど、さまざまなパターンがあります。 経路暗号化したインターネット越しのファイル転送はあまりスピードが出ない場合もあり、今回テストしたケースでは、600KB/秒程度のスピードですので、大きいファイルであればかなりの時間がかかってしまうことも考えられます。 ここからアレンジして、たとえば圧縮ファイルを利用することで転送時間を短くするなど、様々な方法が考えられます。 本格的な導入を行うのであれば、商用サービスも様々ありますので、事態が発生する前に、情報収集や準備をしていくことも必要になってきていると考えます。