Linux豆知識 063
OpenSSH
公開日:2010年08月13日
今回は、OpenSSHについて。
「SSH」とは、暗号化通信を行うためのプロトコルです。パスワードなどの認証部分を含め、ネットワーク上の通信全てが暗号化されて行われます。
従来は、リモートホストとの通信にはTELNETと呼ばれるプロトコルが利用されていました。しかし、このプロトコルでは通信が全て平文で流されます。ネットワークを流れる通信は簡単に傍受できてしまうため、TELNETを用いた通信はパスワードも通信内容も流出してしまう危険が大きいものでした。
そのため、最近ではインターネット越しの通信でTELNETが利用されることはほとんどなく、SSHを用いたものに取って変わられつつあります。
OpenSSHは、SSHを利用した通信を行うためのソフトウェアで、OpenBSDプロジェクトにより開発が行われています。その名の通りオープンソースソフトウェアで、「BSDライセンス」の下で公開されています。実は、OpenSSHの開発が開始される前に、フリーのSSHソフトウェアは別のものが存在したのですが、これがオープンソースでなくなってしまったため、OpenSSHの開発が始まったという経緯があります。
皆さんのLinuxコンピュータでも、シェルで「ssh」コマンドを実行するとSSHプロトコルを利用した通信を行うことができますが、この時に起動するクライアントプログラムは、ほとんどの場合「OpenSSH」に含まれるものです。
OpenSSHには、SSHサーバ、SSHクライアントのほか、リモートホストとの間でファイルのやりとりを行う「scp」や「sftp」も含まれています。scpもsftpもOpenSSHのサブシステムとして提供されます。sshコマンドとあわせて、いずれもインターネットでの通信では非常に重要な機能なだけに、OpenSSHはいまや「重要」を通り越して「不可欠」といえるソフトウェアと言えるでしょう。