SSHとは
SSH(Secure SHell)の概要を見ていきましょう。
安全に遠隔操作するためのプロトコル
SSHはネットワーク上のコンピュータを遠隔操作するためのプロトコルです。パスワード情報を含めてすべて暗号化されてやり取りが行われるため、安全性が確保されています。
従来はtelnetというプロトコルが使われていましたが、データが暗号化されないため問題視されていました。その弱点を克服する目的で作られたのがSSHです。SSHの登場により、現在telnetは使われなくなっています。
通信情報を守るために必要
コンピュータを遠隔操作するという特性上、SSHには高い安全性が求められます。万が一第三者に不正利用されると、コンピュータを好き勝手に操作され、甚大な被害を受ける可能性があるためです。金銭的なトラブルや犯罪に発展するかもしれません。
SSHでは、サーバへのログインが正規のものか判断するために、多様な認証方法を設けています。代表的なのがパスワード認証方式と公開鍵認証方式です。これらの仕組みにより、第三者が容易に介入できない状態を実現します。
SSHの認証方式
では、SSHの認証方式を詳しく見ていきましょう。
パスワードを使った「パスワード認証方式」
パスワード認証方式は、その名のとおりパスワードによって相手が正規のユーザーであることを確認する方法です。手軽で分かりやすい方法ですが、パスワードが流出するリスクを考えるとあまり安全とはいえません。
さらに、遠隔操作する側であるクライアントと操作される側のサーバが、パスワードを共有しなければならないのも難点です。パスワードの共有がスムーズにできるのであれば、その時に遠隔操作の指示も伝えればよいことになります。
逆に、遠隔操作の指示を安全に伝えられないのであれば、パスワードの送信にもリスクが伴うということです。
このような問題を解決する方法として、公開鍵認証方式が使われるようになりました。
鍵を使った「公開鍵認証方式」
公開鍵認証方式は、公開鍵と秘密鍵という2種類の鍵を使って安全に情報をやり取りする方式です。以下の流れでクライアントとサーバがやり取りをし、認証を行います。
- 1.クライアントが公開鍵と秘密鍵を作成する
- 2.クライアントが公開鍵をサーバに渡す
- 3.クライアントがサーバに認証を要求する
- 4.サーバは公開鍵で暗号文を作成し、クライアントに送る
- 5.クライアントは秘密鍵で暗号文を復号し、その結果をサーバに送る
- 6.サーバはクライアントから送られた復号結果を確認する
- 7.復号結果が正しければ、正規のユーザーとして認証される
パスワード認証方式では、パスワードを送信する段階で第三者に見られるリスクがありました。公開鍵認証方式では重要な情報は暗号化された状態でやり取りされるうえ、一度使った鍵は二度と使わないことで安全性を確保しています。
SSHの基本的な使い方
次は、SSHの基本的な使い方を見ていきましょう。
1.SSHソフトウェアをインストール
初めにSSHソフトウェアをインストールします。SSHソフトウェアにはさまざまなものがありますが、もっとも一般的なのはOpenSSHです。1999年に登場したオープンソースソフトウェアで、世界中で使われています。
UNIXやLinuxで使われることが多いですが、Windowsでも利用可能です。特に理由がなければOpenSSHをインストールするとよいでしょう。
2.パスワード設定もしくは公開鍵の作成
続いて、認証に必要な準備を行います。パスワード認証を行う場合は、パスワードを決めて設定しておきましょう。
公開鍵認証方式で認証する場合は、鍵の作成を行います。OpenSSHでは、コマンドラインで「ssh-keygen」を実行すると、テキストファイルとして2つの鍵が生成されます。
生成された2つのうち、「id_rsa」が秘密鍵、「id_rsa.pub」が公開鍵です。クライアント側でこれらを作成したら、サーバ側に公開鍵だけを送信しましょう。秘密鍵は第三者に知られると不正に認証されてしまうため、厳重に管理します。
ここまでの作業は、SSHを使い始める最初の1度のみ必要です。これらの設定が終われば、次回以降は次のステップから始められます。
3.接続を行う
ここまでで設定した内容で、正しくクライアントとサーバが接続できるのか確認します。まず、サーバ側もクライアント側も、ログインしている状態であれば、どちらもログアウトしましょう。
そして、クライアント側からサーバ側に認証を要求し、ログインできるか試みます。公開鍵認証方式による認証では、以下のコマンドをコマンドラインで実行しましょう。
「ssh 接続先コンピュータ名@接続先コンピュータアドレス -i 秘密鍵の場所」
SSHを利用して安全な遠隔操作環境を構築しよう!
SSHとは、コンピュータをオンラインで安全に遠隔操作するためのプロトコルです。認証の安全性が高いのが特徴です。
認証方式にはパスワード認証方式と公開鍵認証方式があります。しかし、後者のほうが安全なため、前者はあまり使われません。
SSHは、最初の1度だけ専用のソフトウェアをインストールし、認証の設定を行えば、次からは簡単に接続可能です。以上を踏まえて、安全な遠隔操作を実現しましょう。