目の前にあるPCから遠隔地のサーバーなどを操作するときに使えるプロトコルには「telnet」と「SSH」があります。
今回は同じような使い方をする2つのプロトコルの違いについて紹介していきます。
telnetとSSHの違い
telnetとSSHの重要な違いは「暗号化」です。SSHは通信が暗号化されますが、telnetは暗号化されず、平文で送るため、盗聴などセキュリティ上の問題があります。
そのため、現在はセキュリティ上の問題からリモート接続には基本的にSSHが使われます。
実用上もtelnetでできることはSSHでもできるためSSHの利用で問題ありません。現在telnetはほとんど使われていないと思います。
SSHは暗号化されているのが主な違い
SSHの特徴
SSHの特徴は何があるのでしょうか?
- データの暗号化による安全性向上
- ユーザー名、パスワードによる認証がある
- Telnetよりも複雑
遠隔操作ではSSHを使うのが推奨されており、ほとんどの人はSSHを利用していると思います。
SSHの使い方については以下の記事を参照してください
参考 ラズベリーパイ3にSSH接続する方法を簡単に解説 | ネットde科学ネットde科学
Telnetの利点
telnetはセキュリティ上の問題があるという欠点がありますが、それ以外の利点はないのでしょうか?
一応Telnetにも利点はあります。
- Telnetは高速
- Telnetは簡単に利用できる( telnet 192.168.1.1 25[telnet IPアドレス ポート番号])
Telnetは暗号化されていない点はもちろんセキュリティ上の問題があります。一方でシンプルなTelnetのプロトコル自体の脆弱性に関してはSSHよりも少ないという見解もあるようです。
簡単に利用できるTelnetはサーバーの動作を確認するといった用途には向いています。
SSHのセキュリティを向上させる方法
不正アクセスを試みる人にとってはSSHを掌握できれば、遠隔で標的のマシンを制御できるのでSSHは狙われやすいです。
SSHはTelnetと比べて暗号化されているため安全性が高いですが、さらに安全性を高めるために工夫が必要です。
- 初期ユーザー名やパスワードは控える
- 推測されにくいパスワードを設定する
- デフォルトのポート番号を変更する
などがあります。
SSHは通常TCP 22番のポートで行います。ポートとは電車で言えば「ホーム何番線か?」です。22番はSSHが利用します。
SSHのポート番号が22番なのは開発者がFTPが21、Telnetが23番のポートを利用していて、間のポートが使われていなかったからだといわれています。
参考 SSHのポート番号が「22」に決まった経緯を開発者のTatu Ylonen氏が公開 - GIGAZINEGIGAZINE
SSHは暗号化されていますが、初期のユーザー名やパスワードを設定していると、それを突破された場合遠隔コントロールされてしまうため非常に危険です。そのため、デフォルトのポート番号22から別のポート番号に設定すると安全性を高めることができます。
当然ですが、初期ユーザー名やパスワードはすぐに変更し、パスワードも強力なものにしましょう。