2017-08-12 每天2个Linux命令 telnet命令
执行telnet指令开启终端机阶段作业,并登入远端主机。
(1)用法:
用法: telnet [参数] [主机]
(2)功能:
功能: telnet命令通常用来远程登录。
原理: Telnet服务虽然也属于客户机/服务器模型的服务,但它更大的意义在于实现了基于Telnet协议的远程登录(远程交互式计算)。
telnet实现的远程登录:
分时系统允许多个用户同时使用一台计算机,为了保证系统的安全和记帐方便,系统要求每个用户有单独的帐号作为登录标识,
系统还为每个用户指定了一个口令。用户在使用该系统之前要输入标识和口令,这个过程被称为'登远程登陆是指用户使用Telnet命令,
使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,
再将主机输出的每个信息回显在屏幕上。
telnet的简介:
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。
它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。
终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。
可以在本地就能控制服务器。要开始一个 telnet会话,必须输入用户名和密码来登录服务器。
Telnet是常用的远程控制Web服务器的方法。但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,
而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,
因此弄清楚telnet客户端的使用方式仍是很有必要的。
telnet命令还可做别的用途,比如确定远程服务的状态,比如确定远程服务器的某个端口是否能访问。
(3)选项参数:
1) -8 允许使用8位字符资料,包括输入与输出。
2) -a 尝试自动登入远端系统。
3) -b<主机别名> 使用别名指定远端主机名称。
4) -c 不读取用户专属目录里的.telnetrc文件。
5) -d 启动排错模式。
6) -e<脱离字符> 设置脱离字符。
7) -E 滤除脱离字符。
8) -f 此参数的效果和指定"-F"参数相同。
9) -F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。
10) -k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。
11) -K 不自动登入远端主机。
12) -l<用户名称> 指定要登入远端主机的用户名称。
13) -L 允许输出8位字符资料。
14) -n<记录文件> 指定文件记录相关信息。
15) -r 使用类似rlogin指令的用户界面。
16) -S<服务类型> 设置telnet连线所需的IP TOS信息。
17) -x 假设主机有支持数据加密的功能,就使用它。
18) -X<认证形态> 关闭指定的认证形态。
(4)实例:
1)[root@localhost xinetd.d]# telnet localhost 23 连接本地的主机,端口号为23
复制代码
[root@localhost xinetd.d]# telnet localhost 23
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Kernel 3.10.0-229.el7.x86_64 on an x86_64
localhost login: sunjimeng
Password:
Last login: Sat Jun 18 18:29:24 from ::ffff:192.168.142.128
[sunjimeng@localhost ~]$
2)用真实物理机win10连接虚拟机中的centOS:
在命令窗口cmd中输入:
C:\Users\JMSun>telnet 192.168.0.8
弹出另一个页面:(这是在win10下的页面,在这里可以自由操作centos,结果类似直接使用centos的终端。)
3)用telnet实现win10连接win7:
在用我自己的win10连接别人的win7系统前,我首先将win7的防火墙关闭,打开telnet服务。然后:
复制代码
C:\Users\JMSun>ping 192.168.0.5 //这是win7机的IP,在这里先测试与它的连通性
正在 Ping 192.168.0.5 具有 32 字节的数据:
来自 192.168.0.5 的回复: 字节=32 时间=62ms TTL=128
来自 192.168.0.5 的回复: 字节=32 时间=6ms TTL=128
来自 192.168.0.5 的回复: 字节=32 时间=4ms TTL=128
来自 192.168.0.5 的回复: 字节=32 时间=2ms TTL=128
192.168.0.5 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 2ms,最长 = 62ms,平均 = 18ms
C:\Users\JMSun>telnet 192.168.0.5
复制代码
弹出页面:
(5)其他:
1.学习此命令遇到的问题:
一.centOS7.0下的shell中出现下面的问题:
[root@localhost sunjimeng]# telnet
bash: telnet: 未找到命令...
解决方案:
1)安装telnet-server,telnet,xinted:
2)将xinetd、telnet服务加入开机自启动
[root@localhost etc]# systemctl enable xinetd.service
[root@localhost etc]# systemctl enable telnet.socket
ln -s '/usr/lib/systemd/system/telnet.socket' '/etc/systemd/system/sockets.target.wants/telnet.socket'
3)启动这两个服务:
[root@localhost etc]# systemctl start telnet.socket
[root@localhost etc]# systemctl start xinetd
二.我用win10的电脑和虚拟机中的centOS7.0想实现他们之间的通信,但是出现几个问题:
1)centOS虚拟机无法ping到物理机win10:
解决方法:关闭win10的防火墙;
2)centOS虚拟机能ping到物理机,物理机win10却无法ping到centOS虚拟机:
解决方法:将虚拟机的网络配置由NAT模式转向桥接模式。这里还涉及到桥接模式下的网络配置问题,以后讨论。
(NAT模式下主机与虚机之间不能互相ping通,因为虚拟机是靠主机的真实IP来访问互联网的,而桥接模式下虚拟机有自己独立的动态IP地址。)
3)centOS能够用telnet连接自身,却无法连接物理机win10:
解决方法:由于在win10系统中telnet的服务端被删去了(不安全性),只保留了客户端,所以要想达到目的,
必须重新下载telnet.server程序并安装配置。在win10的打开或关闭windows功能里启动telnet客户端程序。
并同时启动服务端(如果是win7系统则直接在windows功能选项中打开就行。)。
这里存在一个细节:如果你的win10账户不是本地账户而是Microsoft网络账户,则无法连接。
需要新建一个本地账户:包括用户名,密码,和域名(domain name)。其中domain name不需要输入,默认为空。
而且在centOS连接到win10后会出现乱码问题,这个问题以后解决。(centOS采用UFT编码方式,而win10采用GB2312编码方式。)
4)centOS能够用telnet连接物理机win10,物理机却无法连接centOS,提示:
2017-08-12 每天2个Linux命令 service命令
service命令用于对系统服务进行管理。
(1)用法:
用法: service [服务] [操作]
(2)功能:
功能: service命令用于启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
3)选项参数:
1) status
2) start
3) stop
4) reload
5) disable
6) force-reload
这几个参数顾名思义,不再解释!
(4)实例:
1)[sunjimeng@localhost ~]$ service mysql 查看service命令的简介
[sunjimeng@localhost ~]$ service mysql
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status).
For other actions, please try to use systemctl.
2)[sunjimeng@localhost ~]$ service xinetd status 查看指定服务的状态信息
复制代码
[sunjimeng@localhost ~]$ service xinetd status
Redirecting to /bin/systemctl status xinetd.service
xinetd.service - Xinetd A Powerful Replacement For Inetd
Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled)
Active: active (running) since 日 2016-06-19 23:49:21 PDT; 22min ago
Process: 1395 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
Main PID: 1426 (xinetd)
CGroup: /system.slice/xinetd.service
└─1426 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
复制代码
查看网络连接服务的状态信息:
[root@localhost sunjimeng]# service network status
Configured devices:
lo eno16777736 配置_1
Currently active devices:
lo eno16777736
3)[sunjimeng@localhost ~]$ service xinetd stop 停止xinetd服务
复制代码
[sunjimeng@localhost ~]$ service xinetd stop
Redirecting to /bin/systemctl stop xinetd.service
Failed to issue method call: Access denied //没有root权限,所以拒绝访问
[sunjimeng@localhost ~]$ su root
密码: //登入root
[root@localhost sunjimeng]# service xinetd stop
Redirecting to /bin/systemctl stop xinetd.service
[root@localhost sunjimeng]# service xinetd status
Redirecting to /bin/systemctl status xinetd.service
xinetd.service - Xinetd A Powerful Replacement For Inetd
Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled)
Active: inactive (dead) since 一 2016-06-20 00:15:27 PDT; 15s ago
Process: 1395 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
Main PID: 1426 (code=exited, status=0/SUCCESS)
6月 19 23:49:21 localhost.localdomain xinetd[1426]: removing echo
6月 19 23:49:21 localhost.localdomain xinetd[1426]: removing tcpmux
6月 19 23:49:21 localhost.localdomain xinetd[1426]: removing time
6月 19 23:49:21 localhost.localdomain xinetd[1426]: removing time
6月 19 23:49:21 localhost.localdomain xinetd[1426]: xinetd Version 2.3.15 st...
6月 19 23:49:21 localhost.localdomain xinetd[1426]: Started working: 0 avail...
6月 20 00:07:22 localhost.localdomain systemd[1]: Started Xinetd A Powerful ...
6月 20 00:08:07 localhost.localdomain systemd[1]: Started Xinetd A Powerful ...
6月 20 00:15:27 localhost.localdomain systemd[1]: Stopping Xinetd A Powerful...
6月 20 00:15:27 localhost.localdomain systemd[1]: Stopped Xinetd A Powerful ...
Hint: Some lines were ellipsized, use -l to show in full.
4)[root@localhost sunjimeng]# service xinetd restart 重启守护进程
[root@localhost sunjimeng]# service xinetd restart
Redirecting to /bin/systemctl restart xinetd.service
5)[root@localhost sunjimeng]# service xinetd reload 重新加载守护进程xinetd的配置文件
[root@localhost sunjimeng]# service xinetd reload
Redirecting to /bin/systemctl reload xinetd.service
(5)其他:
1.service程序与一般的程序的区别:
service(也称为daemon)表示后台运行的程序,一般随系统的启动自动地启动且在用户logoff后仍然能够继续运行。
该daemon进程一般在启动后需要与父进程断开关系,并使进程没有控制终端(tty)。
因为daemon程序在后台执行,不需要于终端交互,通常就关闭STDIN、STDOUT和STDER。daemon无法输出信息,
可以使用syslog或自己的日志系统进行日志处理。
可以使用/etc/rc.d/init.d/functions脚本中的daemon函数来将一般的程序启动为daemon:
[root@localhost sunjimeng]# ls /etc/rc.d/init.d/functions
/etc/rc.d/init.d/functions
2.xinetd:
xinetd本身是一个service,他的作用是监听所有的端口,根据配置对不同的端口启动不同的应用。 对于有些需要在后台运行的程序,
可以选择设置为service在后台一直运行,也可以选择使用xinetd来配置此程序根据需要激活。
对于需要频繁访问的服务,需要在/etc/rc.d/init.d下配置为service;对于不是频繁访问的服务,可以使用xinetd来激活,
从而节约服务器的资源;总之service与xinetd,选一即可。
3.service命令和chkconfig命令与服务程序的关系:
service的管理工具是: /sbin/service
service的自动启动控制工具是: /sbin/chkconfig
分类: CentOS服务器管理