远程登录工具----telnet、openssh

本文详细介绍了远程登录工具telnet和ssh,包括telnet的启动方式、CentOS 6与7的启动区别,以及ssh的协议版本、用户认证和openssh客户端与服务端的配置。重点讲述了openssh的使用最佳实践,强调了安全性和配置优化。
摘要由CSDN通过智能技术生成

0 目录

1 telnet

1.1 telnet是什么

telnet是一种远程登录协议,可以使用户远程操作主机。

telnet协议的实现程序就叫telnet。服务端安装程序包telnet-server,客户端安装程序包telnet。

服务端监听在tcp端口23。

由于telnet使用的是明文传输,所以最好用ssh。各linux发行版默认也是没安装的。

1.2 telnet如何启动

1.2.1 瞬时守护进程、独立守护进程

服务进程分为独立守护进程、瞬时守护进程。

独立守护进程:通常是被访问比较频繁的进程。服务进程一直运行,监听在指定端口,随时响应。比如httpd。

瞬时守护进程:被访问频率较低,若服务进程一直运行则会浪费系统资源。如telnet。

1.2.1 对于CentOS 6

对CentOS 6 来说,linux提供了超级守护进程xinetd来统一管理瞬时守护进程。

机制:由xinetd来代替各瞬时守护进程的服务监听在对应端口,各服务进程没有真正启动。当有对指定服务的请求时,xinetd再启动对应的服务,响应完成后,服务进程又终止。从而减少对系统资源的浪费

xinetd的配置文件为/etc/xinetd.conf和/etc/xinetd.d目录下,被xinetd管理的服务在/etc/xinetd目录下都有对应的文件:

[root@node1 ~]% ls /etc/xinetd.d/
chargen-dgram   daytime-dgram   discard-dgram   echo-dgram   rsync          telnet      time-stream
chargen-stream  daytime-stream  discard-stream  echo-stream  tcpmux-server  time-dgram

比如telnet对应的内容(本机已安装telnet-server):

# 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         = yes
}

默认disable字段的设置为yes,表示禁用。改为“no”,并重启xinetd,telnet就会自动启动了:

[root@node1 ~]% service xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

[root@node1 ~]% ss -tnlp | grep 23 | grep -v grep
LISTEN     0      64                       :::23                      :::*      users:(("xinetd",1756,5))

可以看到监听23号端口的进程是xinetd,而不是telnet。

也可使用chkconfig来控制telnet是否自动启动:

[root@node1 ~]% chkconfig telnet on                # 瞬时守护进程不考虑级别,要令其开机自动启动,直接on就行

chkconfig控制等价于在xinetd的telnet配置文件中修改disable项,两种是一致的。

1.2.2 对于CentOS 7

由于CentOS 7使用systemd来管理所有服务,所以不再使用xinetd来管理瞬时守护进程而改用systemd。

systemd管理的各服务在/usr/lib/sysetmd/system下有对应的.service文件,不过在CentOS 7上安装的telnet-server还生成了.socket文件:

[root@node171 etc]% rpm -ql telnet-server
/usr/lib/systemd/system/telnet.socket
/usr/lib/systemd/system/telnet@.service
/usr/sbin/in.telnetd
/usr/share/man/man5/issue.net.5.gz
/usr/share/man/man8/in.telnetd.8.gz
/usr/share/man/man8/telnetd.8.gz

启动telnet.socket就是令systemd代为监听23端口,而不真正启动telnet服务,待有请求来时再启动:

[root@node171 ~]% systemctl start telnet.socket

[root@node171 ~]% ss -tnlp | grep 23 | grep -v grep
LISTEN     0      128         :::23                      :::*                   users:(("systemd",pid=1,fd=41))

可以看到监听23号端口的是systemd。

1.3 效果

telnet客户端使用格式:telnet [host[:port]],如果监听的不是默认端口则需要指明端口号。
默认不允许使用root直接登录,如需要,可使用普通用户登录,然后su到root

在主机192.168.0.171(CentOS 7)启动telnet-server,在主机192.168.0.175(CentOS 7)作为客户端访问,验证效果:

1、在171创建普通用户user1:

[root@node171 ~]% useradd user1
[root@node171 ~]% echo user1 | passwd --stdin user1
Changing password for user user1.
passwd: all authentication tokens updated succ
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值