Я работаю с фермой серверов Solaris 10, поведение которых отличается некоторой непоследовательностью в плане отображения баннеров/сообщений.
На этот раз я пытаюсь сделать scp с одного сервера на другой. Между некоторыми серверами я не получаю баннер, а некоторыми получаю.
Я уже пробовал:
- создание файла .hushlogin
- scp-q
- scp -o LogLevel=Ошибка
- PrintMotd нет в /etc/ssh/sshd_config
- LogLevel QUIET в /etc/ssh/ssh_config
Я уже не получаю баннеров при использовании 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, а также ваш желаемый 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)
следует ли печатать /etc/motd
, когда пользователь входит в систему в интерактивном режиме. (В некоторых системах это также печатается оболочкой, /etc/profile или эквивалентом.) Значение по умолчанию — 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
(начиная с OpenSSH v7.3 после 2016 года)
РЕДКО: Хотя это и маловероятно (если только системный администратор не является сложным или это не корпоративная среда), эти приведенные выше 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?