在Bash远程执行命令时抑制欢迎消息

6

我正在执行一些远程服务器上的命令,类似于这样的shell脚本:

ssh user@host <<ENDSSH
...
ENDSSH

登录后,我会收到服务器的标准欢迎消息。有没有办法将其发送到\dev\null,但仍然显示执行命令的输出?

谢谢。


你试过使用“-T”技巧吗?无论如何,如果MOTD是静态的,你可以使用正则表达式或其他方法来去除它。 - Dave Newton
1
“标准服务器欢迎消息”是什么?可能有许多选项来确定它的内容,如果可能的话如何禁止它也会因消息内容而异。 - Etan Reisner
我的意思是motd消息。 - user487772
根据我的理解,@DaveNewton的-T与MOTD无关。 - user487772
2个回答

3

在远程主机上创建一个文件~user/.hushlogin。这将在user登录时抑制login程序的输出(例如最后一次登录的时间和任何当天的消息)。


我本来希望能够从客户端完成它,但这也是一个选项(虽然不太优雅)。谢谢。 - user487772

1
你可以编辑/etc/ssh/sshd_config(对于debian / ubuntu,你的服务器可能是不同的文件),并将以下设置更改为“no”。
 PrintMotd no
 PrintLastLog no

3
"PrintMotd" 是一个 "sshd" 选项,而不是一个 "ssh" 选项。 - chepner
确实如此。您不能向ssh命令提供任意的sshd选项并期望它们能够执行任何操作(除了可能会抛出错误)。 - Etan Reisner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接