SFTPについて

 1. SFTPとは何か

 2. SSHの設定方法 

 3. SFTP接続の仕方

 4. ファイル転送ツール(FileZilla)

 

1. SFTPとは

SFTPとは、SSH File Transfer Protocolの略称。SSH(Secure Shell)を介してWebサーバーと安全にファイルの転送を行うための手段だ。SFTPは、他のファイル転送手段であるFTPなどよりも安全性が高いことから注目を集めている。

SFTPの安全性の高さは、鍵認証システムである。鍵認証では、まず秘密鍵と公開鍵を作成する。公開鍵はサーバー上に公開するもので、秘密鍵が自分のコンピュータで所有する鍵となる。公開鍵がユーザー名、これら二つの鍵の組み合わせによって生成される複雑な関数がパスワードとなり、ログインすることができる仕組みだ。

 

2. SSHの設定方法

SSHは、Linuxコマンドで設定するため、Windowsは別途SSHクライアント(PuTTyなど)をインストールするしかない。Macでの設定方法は下記に詳しく記載されている。

インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識 - Qiita

 

3. SFTP接続の仕方

Ⅰ. 自分のパソコンで「秘密鍵」と「公開鍵」のペアを作る

Macは、ターミナルでssh-keygenコマンド、windowsでは、PuttyGen、WinSCPなどを使って鍵を作成する。

Ⅱ. サーバー元にそれらを送る

Ⅲ. ホスト名&ユーザー名をゲットしたら準備オッケー

レンタルサーバーによっては、FTPが推奨されているものもある。

 

4. 便利なFTPツール

毎回ファイルをサーバーに転送する度にSFTP情報を入力するのは面倒である。FTPツールは、そんな作業を簡略化してくれるのが、FTPツールだ。FileZillaが処理速度が速く、おすすめ。

FileZillaを使ってSFTPを設定する方法はこちら

http://gihyo.jp/design/serial/01/server-knowledge/0002

 

参考サイト

第2回 ファイル転送はFTPじゃなくてSFTP? SSHで安全にサーバへ入ろう

http://gihyo.jp/design/serial/01/server-knowledge/0002

sftp - 安全なファイル転送 - Linuxコマンド

http://webkaru.net/linux/sftp-command/

 

 

Vagrantについて

Vagrantは、Web開発における仮想マシンを簡単に立ち上げるためのツールである。

 1. そもそもなぜ仮想マシンが必要なのか?

 2. Vagrantを使うメリットとは?

 3. まとめ

1.そもそもなぜ仮想マシンが必要なのか?

仮想マシン上では、サーバーを複数台動かすことができる!

仮想マシンが発明される前は、1つのコンピュータで1つのサーバーしか立ち上げることができなかった。つまり、優れたCPU、メモリを有するPCのリソースをフルに使いこなせていなかった。仮想マシンは、PCの性能を最大限使用することを可能にしたのだ。

 

②自分でOSをカスタマイズできる!

OSとはOperation Systemの略であり、コンピュータシステムの土台となる部分である。従来そのPCに搭載されたOSと異なるOSを一台のパソコンにインストールすることは困難であった。仮想マシンよって、異なるOSを搭載したコンピュータを所有する個人間でプロジェクトを進めることが容易になった。

2.Vagrantを使うメリットとは?

①簡易的に仮想環境を構築できる!

Vagrantは、従来複雑だった仮想マシンを用いた環境構築を単純にした。具体的な構築手順は以下である。

Ⅰ.Boxファイル(OSのテンプレートファイル)から、自分のインストールしたいOSを選んでインストール

Ⅱ.ローカル環境にファイルを作り「vagrant init  [OS名]」(vagrantfileが柵瀬される作成される)

Ⅲ.vagrant upで構築成功

 

②チームで統一された環境を構築することができる

チーム内で開発環境を統一することにより、個々人の環境設定の差異から起こるバグを防ぐことができる。よって、ローカル環境で動くが、開発サーバにするとエラーが生じる問題を未然に防ぐ。

 

③複数のサーバーを立てるのが容易にできる

Vagrantの構造は非常にシンプルである。1つのサーバー当たり1つの設定ファイル(vagrantfile)で統括することができるため、複数のサーバーの設定を行いやすい。

まとめ

Vagrant仮想マシンの稼働を単純化する非常に便利なツールだとわかった。便利さ故に今やほとんどのプログラマ―が使用しているのだろう。調べてみたら、便利な拡張機能などあるらしいので、Vagrantを使いこなせるよう、これからも学習を深めていきたい。

 

参考サイト

Vagrantって流行ってるらしいけど何が便利なの?

http://dev.classmethod.jp/server-side/virtual-box-vagrant/

Vagrantを使って仮想OSを簡単に作成しよう

http://dev.classmethod.jp/tool/vagrant/

仮想マシンを使うべき理由、時、方法

https://jp.linux.com/Linux%20Jp/tutorial/434488-tutorial20151013