SSH接続が使えるレンタルサーバーを選ぶメリットとは

近年では、一般的なレンタルサーバー(共用サーバー)であってもSSH接続を使えるサービスが少しずつ増えてきました。

ですが、もともと上級者向けの機能ということもあり、そもそもどのような機能なのか、あるいは使えるとどのように便利なのかが分かりにくい部分もあるかと思います。そこでこの記事では、SSHの仕組みの簡単な解説にはじまり、レンタルサーバー利用時における便利な使い方までを説明します。

なお、実際にSSHが使えるおすすめサービスについては下記の記事を参考にしてください。

・SSHが使えるおすすめレンタルサーバー(共用サーバー)

そもそもSSHとは

まずシェルについて

シェルは端末からのコマンドを解釈してカーネルに伝える

現在世界中で使われているサーバーの多くは、OSにUnix/Linux系列のものを採用しています。

これらのOSは今でこそマウスによる視覚的な操作(GUI)に対応できますが、もともとはキーボードからのコマンド入力による操作(CUI)で扱われてきたものでした。また現在でもサーバー用途などでは、コマンドによる操作を用いることがほとんどです。

そしてUnix/Linuxにおいてキーボードでコマンドを入力した際、それを解釈してOSの中核(カーネル)に伝える役割を果たすのが「シェル」と呼ばれるソフトです。シェルは英語ではshell、つまり日本語で言う「貝」に当たりますが、カーネルをその中に包み込む貝殻のようなイメージからこう名づけられました。

安全にシェルと通信できるSSH

ネット経由で安全にシェルと通信を行うSSH
※上記の画像は説明のために簡略化してあります。実際にはSSHサーバおよび、(多くの場合はターミナルエミュレータも内蔵している)SSHクライアントが必要となります。

ただし現在では、サーバーマシンを操作する際に入力端末を直接繋げるという機会は少なくなりました。かわりにネットワークおよびインターネット経由で端末ソフト(ターミナルエミュレータ)を接続し、そこからコマンドを打ち込んで操作することが一般的になりました。

この際の遠隔操作のための通信規格として、古くは「telnet」、あるいはrsh、rloginなどと呼ばれるものが用いられていました。しかしこれらの規格では通信中のデータが暗号化されないなどのセキュリティ上の問題があり、時代とともに使用が非推奨となりました。

かわりに安全な通信規格として普及してきたのが「SSH」です。このSSHを用いた接続においては、通信データのすべてが暗号化されます。SSHの正式名称は「Secure Shell」であり、つまり「シェルを安全に操作するための通信規格」となっています。

レンタルサーバにおけるSSHの便利な使い方

ではここからは、レンタルサーバーでSSH接続を用いることで、どのような便利なことが行えるのかについて具体的にご紹介していきます。

なお、VPSなどの管理者権限(root権限)を与えられるサービスにおいては、そもそもSSH経由で環境構築を行うことが前提となっています。ここではそうしたVPS上の利用ではなく、一般的なレンタルサーバー(共用サーバー)においてSSH接続が使えるとどのようなメリットがあるか、についての解説となります。

※(SSHの利用がOKとなっていても)レンタルサーバー事業者によっては特定のコマンドの禁止などにより、下記に紹介するような使用法が不可能な場合もありえます。不安な場合は、必ず事前に各サービスにお問い合わせください。

サーバー上でファイルを直接操作できる

まずひとつめの利便性として、サーバー上でファイルを直接操作できるということがあります。

たとえばWordPressなどの各種ソフトウェアを手動インストールする場合を考えてみます。SSHが使えない状況では、まず自分のパソコンにダウンロード→解凍→FTPでサーバーにアップロード、という手順になります。
しかしSSHが使えれば、wgetコマンドでサーバー上に直接ダウンロード→tarコマンドで展開、だけで作業が完結します。慣れると作業が非常に楽になります。

このほかHTMLファイルの中身を修正するといった単純な作業でも、通常であればFTPでファイルをダウンロード→エディタで編集→FTPで再度アップロード、という手順を踏まなければいけません。しかしSSH経由なら、(Unix/Linuxに標準で付いているエディタの)「vi」を持ちいてサーバー上でファイルを直接編集してしまえます。

つまり、もともとFTPなどを利用すればファイルの操作・編集は可能ですが、SSHが使えることでよりスピーディで無駄のない操作が行えるようになります。

MySQLなどのデータベースを直接操作できる

通常レンタルサーバーでは、MySQLデータベースを扱うためには「phpMyAdmin」などの管理ツールを提供しています。

こうしたツールはGUIを用いているので視覚的に誰でも操作しやすい反面、操作が重くなっています。またファイルサイズが大きいデータベースを出力しようとすると、制限にかかえってエラーが起きたりすることもよくあります。

しかしSSH接続を使えば、mysqldumpなどのコマンドを実行することでデータベースを直接出力することができます。この方法であれば負荷も軽く、また安定的に出力できます。

各種コマンドラインツールの導入

Unix/Linuxでは、歴史的な経緯もあってソフトウェアの多くがコマンドラインでのみ動くものとして提供されています。共用サーバーであってもSSHが使える環境であれば、こうした各種コマンドラインツールの導入が行えます。

たとえばOS標準エディタのviを高機能化した「Vim」、あるいはそれと人気を二分する「Emacs」、バージョン管理システムとしていまや定番になりつつある「Git」など、様々な便利なツールが利用できます。

ただし(root権限がある)VPSと違って、共用サーバーの場合はyumやrpmなどのパッケージ管理のためのコマンドは禁止されています。そのため通常のインストール方法ではなく、自分でwgetで保存→tarで解凍→makeでインストール、のような手順になる点はご注意ください。

言語やライブラリのインストール

現在では多くのレンタルサーバーにおいて、Perl/PHP/Python/Rubyなどの定番のスクリプト言語は標準でインストール済みです。

しかしながら、さらにそれらのライブラリ(たとえばPerlならCPAN、PHPならPEARなど)になるとサービスによって導入状況はまちまちだったり、あるいは導入されていても一部だけだったりします。こうしたライブラリについても、SSH経由で自ら追加インストールすることが可能です。

また言語そのものについても、たとえばGoogleが設計したことで話題のGo、サーバーサイドJavaScriptであるnode.jsなどの新しい言語についても自分で導入できます。

安全なファイル転送

じつは標準のFTPではファイル転送時に暗号化が行われないため、セキュリティ面で問題があります。これに対してSSHでのファイル転送(SFTP/SCP)ならば、暗号化を伴った安全な転送が可能です。

ただし現在は大手レンタルサーバーのほとんどでは、FTPであってもSSL暗号化を併用することで安全性を高めた「FTP over SSL(FTPS)」を採用しています。そのため、セキュリティ面の心配からあえてSSH対応のサービスを選ぶ必要はありません。

まとめ

ここまで幾つかの事例を紹介してきましたが、初心者の方にはそもそも説明が難しかったりした部分もあったはずです。

それはある意味当然で、そもそもSSH接続はすべてコマンド操作(いわゆる真っ黒な画面に文字を打ち込む)であり、基本的に上級者向けの機能と言えます。ですので、「レンタルサーバー初心者にはSSH機能は必要ないんだ」ということが分かっていただければOKです。

一方でSSH接続のメリットを漠然と知っていた方にとっては、これで実際の利用状況が少しはイメージしやすくなればと思います。

そもそもVPSやクラウドを用いた方がいいという声もあると思いますが、価格や機能のバランス、あるいは管理の楽さという点からあえて共用サーバーを選択するということもあるはずです。SSH接続が使えるメリットは、自分の手慣れたコマンド操作やツールを、ある程度まで共用サーバー上でも実現できるという要素が大きいと言えます。