ターミナルツールとしてはtelnetが有名ですが、私個人的にはあまりお勧めできません。 理由としては、以下の点があげられます。
では何故、紹介するかと申しますと管理者への紹介要望が非常に多かった点です。
構築紹介は致しますが、LAN以外(WAN)からのサーバアクセスには十分に気を付けて下さい。
個人的には『PuTTY によるサーバリモート接続』をお勧めします。
# yum -y install telnet-server |
Telnetログインできるクライアントを設定 # vi /etc/hosts.allow # # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # プライベートアドレス「192.168.1.」とサーバ自身、グローバルアドレス「211.xxx.xxx.xxx」は許可 in.telnetd : 192.168.1. 127.0.0.1 211.xxx.xxx.xxx 『/etc/hosts.allow』で指定されたクライアント以外は全て拒否 # vi /etc/hosts.deny # # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! in.telnetd : ALL |
インストール直後では、Telnet-Serverは無効になっています。以下の変更を加える事で有効にできます。
Telnet-Serverの有効化 【SysV services の場合(FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6)】 # vi /etc/xinetd.d/telnet # default: on # description: The telnet server serves telnet sessions; it uses \ # unencrypted username/password pairs for authentication. service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no } xinetdを再起動 # /etc/init.d/xinetd restart 【systemd services の場合(Fedora16以降 / CentOS7)】 # systemctl start telnet.socket |
クライアント機より接続する(ここはWindowsのDOS窓より行ってください)
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. telnetの起動 C:\Documents and Settings\fedora>telnet Microsoft Telnet クライアントへようこそ エスケープ文字は 'CTRL+]' です Microsoft Telnet> op 192.168.1.5 接続中: 192.168.1.5... Fedora Core release 2 (Tettnang) Kernel 2.6.8-1.521 on an i686 login: linux Password: Last login: Mon Dec 6 17:58:45 from 192.168.1.10 telnet経由でのログインができた [linux@fedora linux]$ |
セキュリティの変更 # vi /etc/pam.d/login #%PAM-1.0 以下の行をコメントまたは削除する #auth required pam_securetty.so auth required pam_stack.so service=system-auth auth required pam_nologin.so account required pam_stack.so service=system-auth password required pam_stack.so service=system-auth session required pam_selinux.so multiple session required pam_stack.so service=system-auth session optional pam_console.so 設定変更を有効にする為、再起動する # reboot 再起動後、クライアントからはroot(管理者)でのtelnetログインが可能になります |
PAMのログイン概略をすごく簡単に説明すると、ログイン要求→PAMによる検証→ログイン(可/不可)となります。
この時、ログインを司るPAMは「/etc/pam.d/login」となっています。
この中の「pam_securetty.so」は、rootがログインでログイン要求してきた端末情報が「/etc/securetty」ファイル内に一致していた場合は後続のチェックに移っていきますが、ない場合はログイン要求を拒否されてしまい、rootでのログインが不可能となる訳です。
「/etc/securetty」の内容 # cat /etc/securetty console vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 vc/7 vc/8 vc/9 vc/10 vc/11 tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9 tty10 tty11 |
まず、前準備としてコンソール上または一般ユーザで一度ログイン後、rootになります。
この後、「TeraTerm」などのターミナルソフトでログイン画面を起動して下さい。(以下のログイン画面の状態)
Fedora release 8 (Werewolf) Kernel 2.6.23.1-49.fc8 on an i686 login: |
実行中プロセスの表示(以下は抜粋しています。) # ps -ef UID PID PPID C STIME TTY TIME CMD root 1574 1 0 15:58 ? 00:00:00 xinetd -stayalive -pidfile /var/ root 1753 1574 0 16:00 ? 00:00:00 in.telnetd: 192.168.1.100 root 1754 1753 0 16:00 pts/0 00:00:00 /bin/login -h 192.168.1.100 -p 1番目が「xinetd」で「telnet」などのスーパーデーモンを司っている親プロセスになり、PID(実行プロセス番号)は「1574」となっています。(以下) root 1574 1 0 15:58 ? 00:00:00 xinetd -stayalive -pidfile /var/ 2番目が「telnet」プロセスで親のプロセス(PPID)「1574」よりPIDが「1753」で実行されています。(以下) root 1753 1574 0 16:00 ? 00:00:00 in.telnetd: 192.168.1.100 3番目が「login」プロセスで親のプロセス(PPID)「1753」よりPIDが「1754」で実行され、TTYが「pts/0」となっています(以下) root 1754 1753 0 16:00 pts/0 00:00:00 /bin/login -h 192.168.1.100 -p 上記の「pts/0」を、先ほどの「/etc/securetty」に追加してあげれば、rootでのログインも可能となります。 端末情報を追加 # vi /etc/securetty : : : 最終行に追加する pts/0 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6 pts/7 pts/8 pts/9 pts/10 pts/11 *:番号は既に登録してある「tty」と同じ数だけ設定すればよいでしょう。 |
WANから接続するに当たって、ルータの設定が必要です。
ルータのポート開閉は、ご自分のルータ取扱説明書をご覧ください。
DNS名で接続するには事前にドメイン名の取得を行っている必要があります。(以下は代表的なものであり、また、当サイトが使用させて頂いております)