Telnet が TCP サーバーに接続できないのはなぜですか? (TCP サーバーは起動しました)
レポート: telnet: 解決できませんでした localhost:18001/telnet: 名前解決の一時的な失敗
通常、リモートでログインするには telnet コマンドが使用されます。 Telnet プログラムは、TELNET プロトコルに基づくリモート ログイン クライアント プログラムです。 Telnet プロトコルは TCP/IP プロトコル スイートのメンバーであり、インターネット リモート ログイン サービスの標準プロトコルおよび主要な方法です。これにより、ユーザーはローカル コンピュータ上でリモート ホストの作業を完了できるようになります。
構文
telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]
パラメータ
-8 允许使用8位字符资料,包括输入与输出 -a 尝试自动登入远端系统 -b<主机别名> 使用别名指定远端主机名称 -c 不读取用户专属目录里的.telnetrc文件 -d 启动排错模式 -e<脱离字符> 设置脱离字符 -E 滤除脱离字符 -F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机 -f 此参数的效果和”-F”参数相同 -k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名 -K 不自动登入远端主机 -l<用户名称> 指定要登入远端主机的用户名称 -L 允许输出8位字符资料 -n<记录文件> 指定文件记录相关信息 -r 使用类似rlogin指令的用户界面 -S<服务类型> 设置telnet连线所需IP TOS信息 -x 假设主机有支持数据加密的功能,就使用它 -X<认证形态> 关闭指定的认证形态
使用例
例1: リモートサーバーにアクセスできない
[root@linuxprobe ~]# telnet 192.168.120.209 Trying 192.168.120.209... telnet: connect to address 192.168.120.209: No route to host telnet: Unable to connect to remote host: No route to host
この状況への対処方法:(1) IPアドレスが正しいか確認します(2) 正しいかどうかを確認しますIPアドレスに対応したインストールが正しい 電源が入っている (3) ホストが起動している場合は、ルーティング設定が正しく設定されているか確認します(routeコマンドで確認します) (4) ホストが起動している場合は、ホスト上で Telnet サービスが有効になっているかどうかを確認します (netstat コマンドを使用して、TCP ポート 23 に LISTEN ステータス行があるかどうかを確認します) (5) ホストが Telnet サービスを開始している場合は、ファイアウォールがアクセスをオープンしているかどうかを確認します。ポート23 (iptables-saveで確認)
例2: ドメイン名が解決できない
[root@linuxprobe ~]# telnet www.baidu.com www.baidu.com/telnet: Temporary failure in name resolution
対処法: (1) ドメイン名が正しいか確認する(2) 設定が正しいか確認する本機のドメイン名解決に関する設定が正しいか(/etc/resolv.confのネームサーバー設定が正しいか、正しくない場合はネームサーバー8.8.8.8を使用可能)(3) ファイアウォールがUDP53ポートへのアクセスを解放したか確認(DNS は UDP プロトコル、ポート 53 を使用し、確認するには iptables-save を使用します)
例 3: アクセスが拒否されました
[root@linuxprobe ~]# telnet 192.168.120.206 Trying 192.168.120.206... telnet: connect to address 192.168.120.206: Connection refused telnet: Unable to connect to remote host: Connection refused
この状況に対処する方法: (1) IP アドレスを確認するか、ホスト名が正しいか(2) ) ポートが正しいかどうか、デフォルトのポートが 23 であるかどうかを確認します
ポート 443 など、192.168.120.206 の特定のポートにアクセスできるかどうかを確認するには、次のコマンドを使用できます
[root@linuxprobe ~]# telnet 192.168.120.206 443 Trying 192.168.120.206... telnet: connect to address 192.168.120.206: Connection refused
説明: これは 192.168 .Port を意味します。 .120.206 の 443 にアクセスできません
例 4: Telnet root ユーザーのログイン
[root@linuxprobe ~]# telnet 192.168.120.204 Trying 192.168.120.204... Connected to 192.168.120.204 (192.168.120.204). Escape character is '^]'. localhost (Linux release 2.6.18-274.18.1.el5 #1 SMP Thu Feb 9 12:45:44 EST 2012) (1) login: root Password: Login incorrect
注: 通常の状況では、root はリモートでログインできません。最初に通常のアカウントでログインしてから、su - に切り替えます。ルートユーザー。 root ユーザーのログインを許可するには、次の方法を使用できます:
[root@linuxprobe ~]# vi /etc/pam.d/login #auth required pam_securetty.so #将这一行加上注释! 或 [root@linuxprobe ~]# mv /etc/securetty /etc/securetty.bak
例 5: Telnet サービスを有効にする
[root@linuxprobe ~]# cd /etc/xinetd.d/ [root@linuxprobe xinetd.d]# ll 总计 124 -rw-r--r-- 1 root root 1157 2011-05-31 chargen-dgram -rw-r--r-- 1 root root 1159 2011-05-31 chargen-stream -rw-r--r-- 1 root root 523 2009-09-04 cvs -rw-r--r-- 1 root root 1157 2011-05-31 daytime-dgram -rw-r--r-- 1 root root 1159 2011-05-31 daytime-stream -rw-r--r-- 1 root root 1157 2011-05-31 discard-dgram -rw-r--r-- 1 root root 1159 2011-05-31 discard-stream -rw-r--r-- 1 root root 1148 2011-05-31 echo-dgram -rw-r--r-- 1 root root 1150 2011-05-31 echo-stream -rw-r--r-- 1 root root 323 2004-09-09 eklogin -rw-r--r-- 1 root root 347 2005-09-06 ekrb5-telnet -rw-r--r-- 1 root root 326 2004-09-09 gssftp-rw-r--r-- 1 root root 310 2004-09-09 klogin -rw-r--r-- 1 root root 323 2004-09-09 krb5-telnet -rw-r--r-- 1 root root 308 2004-09-09 kshell -rw-r--r-- 1 root root 317 2004-09-09 rsync -rw-r--r-- 1 root root 1212 2011-05-31 tcpmux-server -rw-r--r-- 1 root root 1149 2011-05-31 time-dgram -rw-r--r-- 1 root root 1150 2011-05-31 time-stream [root@linuxprobe xinetd.d]# cat krb5-telnet # default: off # description: The kerberized telnet server accepts normal telnet sessions, \ # but can also use Kerberos 5 authentication. service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/kerberos/sbin/telnetd log_on_failure += USERID disable = yes }
設定パラメータは通常次のとおりです:
service telnet { disable = no #启用 flags = REUSE #socket可重用 socket_type = stream #连接方式为TCP wait = no #为每个请求启动一个进程 user = root #启动服务的用户为root server = /usr/sbin/in.telnetd #要激活的进程 log_on_failure += USERID #登录失败时记录登录用户名 }
ログインを許可するクライアントのリストを設定したい場合は、only_from = 192.168.0.2 #192.168.0.2 のみのログインを許可しますログインを禁止するクライアントのリストを設定したい場合は、を追加します, no_access = 192.168.0.{2,3, 4} #No 192.168.0.2, 192.168.0.3, 192.168.0.4ログインを追加します開設期間を設定したい場合は、access_times = 9:00-12を追加します。 00 13:00-17:00 # 毎日この 2 つの時間帯のみがサービスを提供しています (当社の営業時間: P) 2 つの IP アドレスをお持ちの場合、1 つは 192.168.0.2 などのプライベート ネットワークの IP アドレスで、もう 1 つはプライベート ネットワークの IP アドレスです。ユーザーがプライベート ネットワークからのデータにのみアクセスできるようにする場合は、218.75.74.83 などのパブリック ネットワーク IP アドレスを指定します。 Telnet サービスにログインするには、bind = 192.168.0.2 を追加します。各設定の具体的な意味と構文については、項目については、xined 設定ファイルの属性の説明 (man xinetd.conf) を参照してください。 ポートを設定し、サービス ファイルを変更します: # vi /etc/services 次の 2 つの文を見つけますtelnet 23/tcptelnet 23/udp など その前に # 文字がある場合は、それを削除します。 Telnet のデフォルトのポートは 23 です。このポートはハッカーのポート スキャンの主なターゲットでもあるため、このポートを変更するのが最善です。変更方法は非常に簡単です。 数値 23 を変更し、61123 などのより大きな数値に変更します。 1024 未満のポート番号はインターネットによって予約されているため、使用しないことをお勧めします。また、これらを使用しないように注意する必要があります。 ポートが他のサービスと競合しています。 サービスを開始します:service xinetd restart
通常、リモートでログインするには telnet コマンドが使用されます。 Telnet プログラムは、TELNET プロトコルに基づくリモート ログイン クライアント プログラムです。 Telnet プロトコルは TCP/IP プロトコル スイートのメンバーであり、インターネット リモート ログイン サービスの標準プロトコルおよび主要な方法です。これにより、ユーザーはローカル コンピュータ上でリモート ホストの作業を完了できるようになります。
構文
パラメータ
使用例
例1: リモートサーバーにアクセスできない
この状況への対処方法:
(1) IPアドレスが正しいか確認します
(2) 正しいかどうかを確認しますIPアドレスに対応したインストールが正しい 電源が入っている
(3) ホストが起動している場合は、ルーティング設定が正しく設定されているか確認します(routeコマンドで確認します)
(4) ホストが起動している場合は、ホスト上で Telnet サービスが有効になっているかどうかを確認します (netstat コマンドを使用して、TCP ポート 23 に LISTEN ステータス行があるかどうかを確認します)
(5) ホストが Telnet サービスを開始している場合は、ファイアウォールがアクセスをオープンしているかどうかを確認します。ポート23 (iptables-saveで確認)
例2: ドメイン名が解決できない
対処法:
(1) ドメイン名が正しいか確認する
(2) 設定が正しいか確認する本機のドメイン名解決に関する設定が正しいか(/etc/resolv.confのネームサーバー設定が正しいか、正しくない場合はネームサーバー8.8.8.8を使用可能)
(3) ファイアウォールがUDP53ポートへのアクセスを解放したか確認(DNS は UDP プロトコル、ポート 53 を使用し、確認するには iptables-save を使用します)
例 3: アクセスが拒否されました
この状況に対処する方法:
(1) IP アドレスを確認するか、ホスト名が正しいか
(2) ) ポートが正しいかどうか、デフォルトのポートが 23 であるかどうかを確認します
ポート 443 など、192.168.120.206 の特定のポートにアクセスできるかどうかを確認するには、次のコマンドを使用できます
説明: これは 192.168 .Port を意味します。 .120.206 の 443 にアクセスできません
例 4: Telnet root ユーザーのログイン
注: 通常の状況では、root はリモートでログインできません。最初に通常のアカウントでログインしてから、su - に切り替えます。ルートユーザー。 root ユーザーのログインを許可するには、次の方法を使用できます:
例 5: Telnet サービスを有効にする
設定パラメータは通常次のとおりです:
ログインを許可するクライアントのリストを設定したい場合は、
only_from = 192.168.0.2 #192.168.0.2 のみのログインを許可します
ログインを禁止するクライアントのリストを設定したい場合は、を追加します,
no_access = 192.168.0.{2,3, 4} #No 192.168.0.2, 192.168.0.3, 192.168.0.4ログインを追加します
開設期間を設定したい場合は、
access_times = 9:00-12を追加します。 00 13:00-17:00 # 毎日この 2 つの時間帯のみがサービスを提供しています (当社の営業時間: P)
2 つの IP アドレスをお持ちの場合、1 つは 192.168.0.2 などのプライベート ネットワークの IP アドレスで、もう 1 つはプライベート ネットワークの IP アドレスです。ユーザーがプライベート ネットワークからのデータにのみアクセスできるようにする場合は、218.75.74.83 などのパブリック ネットワーク IP アドレスを指定します。 Telnet サービスにログインするには、
bind = 192.168.0.2
を追加します。各設定の具体的な意味と構文については、項目については、xined 設定ファイルの属性の説明 (man xinetd.conf) を参照してください。
ポートを設定し、サービス ファイルを変更します:
# vi /etc/services
次の 2 つの文を見つけます
telnet 23/tcp
telnet 23/udp
など その前に # 文字がある場合は、それを削除します。 Telnet のデフォルトのポートは 23 です。このポートはハッカーのポート スキャンの主なターゲットでもあるため、このポートを変更するのが最善です。変更方法は非常に簡単です。 数値 23 を変更し、61123 などのより大きな数値に変更します。 1024 未満のポート番号はインターネットによって予約されているため、使用しないことをお勧めします。また、これらを使用しないように注意する必要があります。 ポートが他のサービスと競合しています。
サービスを開始します:service xinetd restart