对所有 ssh 用户强制 stty -echo

对所有 ssh 用户强制 stty -echo

我想为所有通过 SSH 连接的用户禁用 TTY 回显。 Linux 命令stty -echo可以解决这个问题,但是用户不必在他们的 TTY 上执行此命令,我想给他们一个默认情况下从一开始就禁用回显的 TTY。我怎样才能做到这一点?提前致谢!

答案1

一种简单的方法是将行添加stty -echo/etc/profile.d文件名以.sh.例如,一个名为/etc/profile.d/disable-tty-echo.sh.

这是有效的,因为至少在 Ubuntu 上,每个/etc/profile.d/*.sh文件都将由 获取,并且后一个文件将由任何 POSIX 登录 shell/etc/profile读取并执行(与 一起)。$HOME/.profile这记录在bashdashksh等的手册页中。

请注意,如果用户能够将其 shell 设置为不读取和执行的 shell /etc/profile,例如csh,并且您需要绝对确定将stty -echo进行设置,那么您还需要通过编辑来限制允许的登录 shell /etc/shells

相关内容