我与一组 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/motd
yes
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 all
Match canonical
Match final
注意:多文件 SSH 服务器配置/etc/ssh/sshd_config.d
按 ASCII 顺序加载。在多文件配置方法中,通常使用 2 位或 3 位数字作为起始文件名,以确保其正确的读取顺序。我们的Match user
设置块需要放在任何Match all
、Match canonical
或之前Match final
,因此我们的数字将位于它们的970-*
或之前,97-*
假设9[7-9]-*
和被其他/ /设置块9[7-9][0-9]-*
占用。canonical
final
all
重新加载/重启 SSH 服务器
然后重新加载/重新启动 SSH 服务器。
下一次scp
或sftp
登录尝试将不再显示当天的任何横幅或消息。
答案2
您是否尝试过此选项:-o LogLevel = quiet