telnetはサーバーの応答を見たり、テストするのに便利なコマンドです。暗号化されないtelnetはセキュリティの観点から使用すべきではないとされていますが、外部に公開しないLAN内での利用など用途によってはtelnetを利用してよいと思います。
telnetの使い方
telnetを使って他のサーバーに接続する時は「telnetクライアント」が必要です。
telnetクライアントがインストールされているかどうかはyumコマンドで確認します。
# yum list installed | grep telnet
telnetがインストールされていない場合は何も表示されません。
# yum install telnet
これでtelnetクライアントが導入されます。
telnetで接続
telnetではtelnetサーバーへの接続以外にもftpサーバーやwebサーバーなどへの接続も可能です。
理研のftpサーバーにtelnetを使って接続してみます。
telnetでは「telnet (IPアドレス or FQDN) (ポート番号)」でサーバーに接続できます。
# telnet ftp.riken.jp 21 →ftp:21portに接続 220 ::ffff:134.160.38.1 FTP server ready USER anonymous →anonymousでログイン 331 Anonymous login OK complete emall address as your password PASS test@example.com →anonymousではpassにemalアドレスが必要 230 Anonymous access granted, restrictions apply
このようにftpサーバーにtelnetで接続することができました。実際にftpの操作をしたい場合はtelnetではなくftpクライアントを利用しますが、サーバーの応答などを見る場合にはtelnetは telnet ip(fqdn) + portで接続できるので便利です。
ポートが開いているか確認
セキュリティの観点から未使用のポートは侵入される危険があるので閉じておくのが望ましいとされています。実際にポートスキャンといって開いているポートを片っ端から調べることは攻撃の一種とみなされています。
telnetではポートが開いているか確認できます。
実際にIPアドレス192.168.0.28の22番ポートが開いているかをtelnetで調べてみます。
下のように「telnet IPアドレス ポート番号」を打ちこんで、空白行で待機状態になればポートが開いていることを確認できます。connectionが確立できないなどのような場合は閉じています。下記の例では22番ポート:sshに接続しています。
気づいた人も多いと思いますが、telnetでサーバーに接続しているのと同じなのでやっていることは先ほど紹介したことと全く同じです。
telnetから強制的に終了
telnetで接続中に固まってコマンドを受け付けなくなることが多々あります。放っておくとタイムアウトして自動的に接続が解除されますが、時間がかかるので早く終了したい場合は、「Ctrl + ] 」を押してエンターを押すと telnet > となります。ここで「quit」(「q」)、エンターで終了することができます。
telnetサーバーの立て方
telnetサーバーはセキュリティの観点から推奨されません。sshを使いましょう。
SSHサーバーの構築 sshdを起動してリモート接続しよう!
telnetサーバーのインストールはyumから行います。
# yum -y install telnet-server
これでtelnetサーバーが導入されます。
telnetサーバーの有効化はsystemctlで行います。自動起動はenableを入力します
# systemctl start telnet.socket
状態確認は
# systemctl status telnet.socket
実際にtelnetサーバーに接続する
構築したtelnetサーバーに接続してみましょう。telnetサーバーへはポート23番に対して接続します。「telnet (IPアドレス) (23)」を入力すれば接続できます。root権限への昇格なども可能です。通信は暗号化されていないので注意します。