Thursday,November 10

GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】 (8 photos)

GCPでウェブサーバ構築チャレンジ、4ログ目です。
前回はGoole Cloud SDKというGoole Cloud Platformが使いやすくなるツールをWindowsに導入したというお話でした。

1.GCPにはFTPサーバーなんていらなかった

さて今回はいよいよFTPサーバーを……と息巻いて、いろいろ調査をしていたら。

FTPよりセキュアなファイル転送を実現したSFTP、SCPなるものがあるという話をキャッチしました。いずれもコンピューター間でファイル転送するためのプロトコルの名前です。FTPはずいぶん昔から存在するプロトコルですね、わたしも馴染みがあります。

FTPプロトコルの場合、クライアントからサーバにファイル転送するには、その信号をサーバ側で受信して処理するための「FTPサーバ」が常時稼動していないとファイル転送できませんでした。

わたしが目を引いたのは「どうやらSFTP、SCPでサーバにファイル転送するためにはサーバー側にopen_sshがあればOKのようだ」ということです。つまり、どうやらSSHで接続できるサーバーであればSCPでファイル転送できるということのようなんです。

ということは……

GCPならFTPサーバーを入れなくてもファイル転送できるってことかァッ!?(ドッギャアアア~ン!)

思い切りジェネレーションギャップじゃねえかよおぉ……。

じゃあ、やることって言ったら……

そう、クライアント側がSCPプロトコルに対応するだけ。


2.WinSCPでGCPに接続する

SCPプロトコルに対応したFTPクライアントソフト「WinSCP」があります。
「窓の杜」などからダウンロードしてインストールできるということなので、今回のログはWinSCP使ってGCPのインスタンスにファイル転送ができるかどうかを確認するログとなります。

デフォルトでインストールしてWinSCPを起動すると、こんな画面が。

GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】_sb_01.png

WinSCPログイン画面


どうやら「どんなサーバに接続したいの?」と聞いている感じ。

転送プロトコルはSCP
ポート番号は22
ホスト名は接続したいインスタンスの外部IP
ユーザー名はインスタンスに接続した時のユーザー名
パスワードは空欄のまま

で、「設定」をクリックします。

GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】_sb_02.png


つづいて表示される「高度なサイトの設定」画面で、「SCP/シェル」を選択してシェルから「sudo su -」を選択します

GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】_sb_03.png

「SCP/シェルを選択」で「sudo su -」シェルを選択


そのまま「認証」を選択。
認証条件の秘密鍵のところに、Goole Cloud SDKでSSH接続した時に生成された秘密鍵を指定します。
デフォルトならC:\Users\(ローカルPCユーザー名)\.ssh\google_compute_engine.ppkです。
指定が終わったら「OK」をクリックします。

GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】_sb_04.png

秘密鍵ファイルを指定して「OK」


ログイン画面に戻ります。
「保存」をクリックして設定もろもろを保存します。
名前は好きなように。

GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】_sb_05.png

サーバーとの接続設定を保存


さあ、これで接続設定は整いました。
「ログイン」をクリックすれば……。

GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】_sb_06.png

ドキドキドキ……


GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】_sb_07.png

あっ。一番最初に接続するときだけ表示される画面が


一番最初に接続する時だけこの画面が表示されます。
問答無用で「はい」クリックです。

GCPでウェブサーバ構築チャレンジ・4【SCPはあっさり風味】_sb_08.png

ババァーン!


おーっ!
接続できました!

左がローカルPC、右が接続したインスタンスです。
やったぁ!

ウインドウの右下に鍵アイコンが表示されていますね。
セキュアな通信が確保されている(SSH接続できている)ことの印です。

これでファイル転送ができるというわけですか、便利な世のなかになったもんですなあ!

なんかずいぶんあっさり繋がっちゃいました。
FTPサーバを入れてその設定を…なんてことはもうしなくていいんですね!
なんてラクチンなんだあ!(ヒャッホーイ)

3.まとめ

サーバとの接続、いわゆるログイン認証にはユーザー名とパスワードが必要でした。サーバー側ではユーザーとパスワードを管理しており、ユーザーごとに権限などを割り当てたりしていたもんです。
しかし、パスワード認証では接続時の情報がネットワーク上を流れるため、最悪パスワードを盗まれるリスクがありました。現在でも、この接続方式を採用しているサーバも多いです。

これに対し、秘密鍵を用いる鍵認証では、パスワードがネットワーク上を流れないため盗まれる心配がありません。鍵認証では、公開鍵と秘密鍵の2つを使用します。公開鍵はあらかじめサーバに渡しておくもので、これはおそらくGoole Cloud SDK導入時にサーバ側に渡っているものと思われます。
秘密鍵はクライアントPCが手元に置いておくものです。この公開鍵と秘密鍵が一致してはじめてログインできるようになっています。鍵認証を用いたSSHはセキュア・シェル(Secure Shell)の略です。鍵認証で利用される公開鍵は素数を利用したハッシュ値になっているため、解読するのにとんでもない手間がかかる仕組みになっています。


≫ NEXT_LOG GCPでウェブサーバ構築チャレンジ・5【選んでよかったDebian】(6 photos)

≪ PREV_LOG GCPでウェブサーバ構築チャレンジ・3【面倒くさがり屋のススメ】(12 photos)

PAGE UP

Google+

スタジオムーンリーフ(2005年1月開設/Since 2005)
代表者:野口 卓洋(Takuhiro Noguchi)
Add:356-0006 埼玉県ふじみ野市霞ヶ丘3-1-22-504

Twitter:@StudioMoonLeaf
Facebook:facebook.com/noguchi.takuhiro


©2017 STUDIO MOON LEAF ALL RIGHTS RESERVED.