设置

设置

我与一组 Solaris 10 服务器合作,在显示横幅/motd 方面存在一些不一致的行为。

这次,我尝试从一台服务器执行 scp 到另一台服务器。有些服务器没有横幅,有些有。

我已经尝试过:

  • 创建 .hushlogin 文件
  • scp-q 命令
  • scp -o LogLevel=Error
  • /etc/ssh/sshd_config 中没有 PrintMotd
  • /etc/ssh/ssh_config 中的日志级别 QUIET

使用 ssh 时我已经没有收到横幅,但使用 scp 的横幅在某些服务器中仍然存在,我想找到一种方法来将其关闭。

我没有管理员权限,但可以请求更改特定配置。

scp 会话示例:

usera@server20$ scp a.sh server43:/tmp
###################################################################
# This system is for the use of authorized users only.            #
# Individuals using this computer system without authority, or in #
# excess of their authority, are subject to having all of their   #
# activities on this system monitored and recorded by system      #
# personnel.                                                      #
#                                                                 #
# Anyone using this system expressly consents to such monitoring  #
# and is advised that if such monitoring reveals possible         #
# evidence of criminal activity, system personnel may provide the #
# evidence of such monitoring to law enforcement officials.       #
###################################################################

WARNING: Access to this computer system is limited to authorised users only.
Unauthorised users may be subject to prosecution under the Crimes
Act or State legislation.

a.sh                 100% |***********************************************************************************************************|   602       00:00
usera@server20$

来自服务器场中的服务器的 ssh 会话示例:

usera@server20$  ssh server43
LI002: usera is allowed 2 concurrent logins
Last login: Tue Jun 16 2015 17:30:05 from pts/2
server43:usera>

来自服务器场外部的 ssh 会话示例:

login as: usera
###################################################################
# This system is for the use of authorized users only.            #
# Individuals using this computer system without authority, or in #
# excess of their authority, are subject to having all of their   #
# activities on this system monitored and recorded by system      #
# personnel.                                                      #
#                                                                 #
# Anyone using this system expressly consents to such monitoring  #
# and is advised that if such monitoring reveals possible         #
# evidence of criminal activity, system personnel may provide the #
# evidence of such monitoring to law enforcement officials.       #
###################################################################

WARNING: Access to this computer system is limited to authorised users only.
Unauthorised users may be subject to prosecution under the Crimes
Act or State legislation.

Using keyboard-interactive authentication.
Password:
LI002: usera is allowed 2 concurrent logins
Last login: Tue Jun 16 2015 18:40:41 from pts/1
server43:usera>

答案1

您已指出此 SSH 服务器也在执行常规 SSH shell 会话以及您所需的sftp方法。此外,以下答案适用于可能的最旧 OpenSSH 版本:(v4.0.0p1除非另有说明)。此答案适用于最新的 Solaris 10 和 11,因为它们使用 OpenSSH v6.6p1,REV=2014.03.20

我的解决方案同时提供常规 SSH 和scp/ sftp

设置

诀窍是Match User sftp在 SSH 服务器配置中使用以下几个设置:

  • Banner
  • PrintMotd

Banner

Banner设置是文件名,在允许身份验证之前,将指定文件的内容发送给远程用户。如果参数是,none则不显示横幅。默认情况下,不显示横幅。

根据 OP,你Banner yes的文件中可能存在某个地方,这没问题,因为我们可以在不修改该配置行的情况下限制该行为(稍后会详细介绍)。

PrintMotd

PrintMotd指定当用户交互登录时是否sshd(8)应打印。(在某些系统上,它也由 shell、/etc/profile 或等效文件打印。)默认值为。/etc/motdyes

PrintMotd <anything>您的配置文件中可能没有这个sshd_config选项,因此默认设置是始终显示每日消息。

设置块

为了解决您的问题,我们假设此 SFTP/SCP 活动的用户名是sftp

粘贴并使用的设置块可使所有sftp用户都看不到任何横幅或任何每日消息(MotD):

Match User sftp
    Banner none
    PrintMotd no

设置位置

我们的上述设置块可能会进入以下文件名之一:

  • /etc/ssh/sshd_config(较旧的发行版使用 OpenSSH v7.3 或更早版本,最高可达macOS 12 蒙特雷版本)
  • /etc/ssh/sshd_config.d/900-custom-match-sftp.conf(自 2016 年以后的 OpenSSH v7.3 起)

罕见:虽然可能性不大(除非系统管理员很复杂或者是在公司环境中),但上述设置块必须在任何、或块Match user sftp之前放置和读取。Match allMatch canonicalMatch final

注意:多文件 SSH 服务器配置/etc/ssh/sshd_config.d按 ASCII 顺序加载。在多文件配置方法中,通常使用 2 位或 3 位数字作为起始文件名,以确保其正确的读取顺序。我们的Match user设置块需要放在任何Match allMatch canonical或之前Match final,因此我们的数字将位于它们的970-*或之前,97-*假设9[7-9]-*和被其他/ /设置块9[7-9][0-9]-*占用。canonicalfinalall

重新加载/重启 SSH 服务器

然后重新加载/重新启动 SSH 服务器。

下一次scpsftp登录尝试将不再显示当天的任何横幅或消息。

答案2

您是否尝试过此选项:-o LogLevel = quiet

相关内容