众所周知,我们可以/etc/motd
在文件中或文件中输入banner /etc/issue.net
,这样每一个登录Linux机器的用户都会收到banner信息,例如:
Red Hat Enterprise Linux Server release 6.8 (Santiago)
Kernel \r on an \m
##########################################################################
# Welcome to OBAMA house !!!
# All connections are monitored and recorded
# Disconnect IMMEDIATELY if you are not an authorized user!
#
##########################################################################
ssh
问题是,当我们通过Linux 机器远程登录(而不是本地登录)时,也会显示横幅。
我们可以通过使用以下标志简单地忽略 ssh 中的横幅-q
:
ssh -q 192.19.23.45 ls /hillary_emails
事实上,我们有超过 100 个使用 的 Bash 和 Perl 脚本,所以如果我们向所有机器添加横幅,我们还需要通过添加标志(静默模式)ssh
来更改使用该命令的脚本。ssh
-q
由于内部原因,我们不想编辑脚本。所以我的问题是,是否可以更改 Linux 客户端配置,使横幅仅在本地登录时显示,而在远程登录时不显示ssh
?
我认为 SSHD 选项
PrintMotd no
可以帮助您。将其添加到 /etc/ssh/sshd_config 中。医生说:您可以创建一个组并将相关用户添加到该组:
然后,您可以编辑 /etc/ssh/sshd_config 并添加以下内容:
然后,重新启动 sshd 并测试它。
当天的消息不应显示在非交互式会话中。例如,当您运行
ssh 192.19.23.45 ls
时,非交互式运行命令,并且不应显示当天的消息(“motd”)。这同样适用于使用
ssh
. 脚本将始终以非交互模式执行任务,并且不应显示当天的消息。如果您在系统中发现相反的情况,那将是我们可以尝试调试的某种错误配置,但这不是默认行为。
因此,如果您主要关心的是脚本,那么没有什么可担心的。如果您不希望为使用 远程登录的用户显示当天的消息
ssh
,那是另一回事,现有的答案可能会有所帮助。(但我认为这个请求有点奇怪:我不明白为什么你不想在他们的交互式远程会话中向用户(非脚本)显示消息。)