telnet 无法连接_Telnet 为什么不能以 root 身份登录系统?

为什么 root 无法以 telnet 直接登入系统,但用 ssh 却可以?

  • telnet 会引用 login 的 PAM 模块,而 login 的验证阶段会有 /etc/securetty 的限制;
  • 因为此远程登入属于 pts/n 的终端机接口装置,该名称没有写入到 /etc/securetty,因此 root 无法用 telnet 登入;
  • ssh 使用的是 /etc/pam.d/sshd 模块,该模块验证阶段并没有加入 pam_securetty,因此没有 /etc/securetty 的限制!
1c3df69a060a2cc45cb89d40f414a5b9.png

了解一下 PAM 模块:

  • pam_securetty.so

限制系统管理员(root)只能从安全的(secure)终端机登录,例如传统的终端机名称: tty1, tty2 等。安全的终端机设定写在 /etc/securetty 文件中。

  • pam_nologin.so

限制一般用户是否能登录系统。当 /etc/nologin 这个文件存在时,一般用户无法登陆系统(终端机会显示该文件内容);

Redhat 系统的设定:

红帽推荐用户使用安全的ssh来远程登录服务器,而不要使用telnet,因为telnet连接服务器时,密码是以明文方式传输。因此默认root是不允许telnet直接登录服务器的。

假设你安装了 telnet-server 软件包,进行了正确的配置,开放了23端口。

希望强制允许root通过telnet连接服务器,可以修改/etc/pam.d/login,默认文件如下:

#%PAM-1.0auth required pam_securetty.soauth required pam_stack.so service=system-auth...

第一行控制 root 不允许 telnet 服务器,

为了允许 root 通过 telnet 登录服务器,修改该文件如下:

#%PAM-1.0# auth required pam_securetty.so (注释掉此行)auth required pam_stack.so service=system-authauth required pam_nologin.so...

测试一下:

5765587173673094141ffc17c5bbfbcb.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值