Приветственный баннер, останавливающий scp

Наша команда решила добавить приветственный баннер всем нашим хозяевам. Член команды вместо добавления сообщения в /etc/motd добавил сообщение с echo в ~/.cshrc .

Это разрыв scp между хостами. Может кто-нибудь объяснить, как это нарушает scp ? cshrc ли cshrc даже при выполнении scp ? И как некоторые эхо-сообщения в нем сломают его?

Я не знаю о внутренней работе scp .

Сообщение, добавленное в ~/.cshrc :

 echo "##############################################################################" echo " Alert! Aler! Alert! Alert! Alert! Alert!" echo "This is a restricted box, any actions performed here will be reported to xxx@yyy.com" echo "##############################################################################" 

4 Solutions collect form web for “Приветственный баннер, останавливающий scp”

Команды, запущенные поверх транспорта ssh , не ожидают больших объемов вывода, прежде чем они смогут запустить свой сервер. Это повлияет на ряд утилит.

Решение состоит в том, чтобы ваша команда администратора печатала сообщение только в том случае, если stdout подключен к терминалу.

 if ( $?prompt ) then echo "Secure machine message..." echo "More warnings" echo "Etc." endif 

Еще лучше, вы не поместили бы это в .cshrc вообще, но вместо этого сам контент сообщения /etc/issue.net бы в /etc/issue.net , который отображается перед /etc/issue.net систему. Это может потребовать включения в /etc/ssh/sshd_config хотя с такой строкой:

 Banner /etc/issue.net 

Вы не можете ничего печатать в неинтерактивном сеансе. Это ломает всех клиентов, которые используют строгий протокол, например SFTP или SCP.


Используйте /etc/motd (который используется только для интерактивных сеансов).

Или используйте sshd_config директиву Banner .

Или протестируйте интерактивный сеанс перед тем, как распечатать что-либо (например, путем проверки наличия переменных TERM или prompt ).


Для получения дополнительной информации см. Мой ответ на вопрос о сбое сервера SSH MOTD для каждого пользователя .

Я считаю, что вам нужно поместить строки ABOVE в файл .cshrc, потому что в противном случае он не позволит вам делать sftp или ftp или что-то еще, потому что это интерактивная оболочка:

Эти ошибки обычно вызывают команды в файле управления запуском оболочки (.cshrc, .profile, .bashrc и т. Д.), Которые выводят вывод на терминал. Этот выход мешает связи между демоном SSH и подсистемой sftp-server. Примерами таких команд могут быть дата или эхо. Если вы используете почтовую команду для проверки почты, это также может вызвать ошибку. Чтобы решить эту проблему, вы должны поместить любые команды, которые будут выдавать вывод в условном выражении, который выполняется только в том случае, если оболочка является интерактивной. (ВСЕ ИСПЫТАНИЯ НУЖНО БЫТЬ В ТОПЕ файлов управления для рассматриваемой оболочки.

Брайан Бейкер

Он находится в ~/.cshrc . Я считаю, что это упрощает эту процедуру. Измените код в ~/.cshrc чтобы читать

 echo 1>&2 "##############################################################################" echo 1>&2 " Alert! Aler! Alert! Alert! Alert! Alert!" echo 1>&2 "This is a restricted box, any actions performed here will be reported to xxx@yyy.com" echo 1>&2 "##############################################################################" 
  • Продолжать работу службы после окончания сеанса ssh
  • Я хочу подключиться к удаленному хосту без пароля, что лучший способ сделать это?
  • аутентификация открытого ключа без файла authorized_keys
  • dropbear ssh-сервер не позволит мне подключиться
  • Добавить ssh pubkey в authorized_keys на локальном хосте (пропуск отсутствует)
  • пароль root не работает, но может ssh через пользователя sudo (centos)
  • объяснение туннеля ssh
  • Как длина и ширина терминала передаются через SSH и telnet?
  • Открытые ключи SSH не работают; мой домашний каталог зашифрован
  • Продолжайте выполнение программы, требующей X-сервера после выхода из сеанса ssh
  • ssh частно-открытый ключ для клиента
  • Interesting Posts

    S-Video не имеет цветного вывода для cx231xx

    Как я могу получить скорость чтения / записи на жестком диске с использованием данных / proc / diskstats?

    Какая правильная версия dm-cache

    'nc', используя ~ 100% CPU при передаче файла FIFO

    Замените конкретный символ, но не если он внутри ()

    Как предотвратить вытеснение вывода замещения команды bash?

    Как изменился переход на 64 бит в Linux?

    OpenSSH_5.3 не имеют подсказки при истечении срока действия учетной записи пользователя

    Как установить временную метку транскрипционного разговора?

    Почему удаленные файлы постоянно появляются?

    Запустить скрипт на / dev / tty-доступ

    Рекурсивно переименуйте файлы электронной почты из .txt в .eml

    Восстановить каталог до предыдущего состояния

    Что мне нужно сделать, чтобы создать быстро устанавливаемый дистрибутив Debian?

    Сценарий highlight_focus для выделения текущего экрана не работает

    Linux и Unix - лучшая ОС в мире.