как использовать разные SSH-баннеры для разных SSH-соединений?

Следующее будет работать в sh:

if echo "$hasArgs" | grep -q "$x"; then
8
16.07.2020, 21:02
2 ответа

Другой возможностью было бы (по крайней мере, с моей точки зрения, )определение некоторой функции для sshing, которая печатала бы некоторый баннер перед фактическим sshвходом в сеанс. Просто проявите творческий подход, если вам это нужно.


Пример функции:

unalias ssh 2> /dev/null
ssh ()
{
    if ! { [ $# -eq 2 ] && [ -n "$1" ] && [ -n "$2" ]; } then
        # shellcheck disable=SC2016
        printf >&2 '%s\n' 'Expecting $1 = username, $2 = computer'
        return 1
    fi

    case "$1" in
        (user1) banner='This will be great SSH!' ;;
        (user2) banner='Enjoy your SSH session!' ;;
        (*)     banner='Some generic banner...' ;;
    esac

    printf '%s\n' \
        "Entering SSH session as user $1 onto computer $2..." \
        "$banner"

    command ssh "$1"@"$2"
}

Пример вызова:

ssh root 192.168.0.1

Пример вывода:

Entering SSH session as user root onto computer 192.168.0.1...
Some generic banner...


BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 19.07.3, r11063-85e04e9f46
 -----------------------------------------------------
1
18.03.2021, 23:19

ну, если вы имеете в виду показывать разные баннеры для каждого пользователя или IP-адреса, подключающегося через ssh, у вас есть опции для обоих , как показано ниже, используя команду Match;

  1. разные баннеры на основе имени пользователя:

    # put in Match section like
    Match User sshUser
        Banner /path/to/specific_banner
    
  2. разные баннеры на основе IP-адреса:

    # put in Match section like
    Match Address 10.20.30.0/24
        Banner /path/to/specific_banner
    

значит, это возможно; вам просто нужно перезагрузить sshd, чтобы изменения вступили в силу; если ваша версия sshd не имеет команды перезагрузки (в худшем состоянии ), вам потребуется перезапустить ее.

18
18.03.2021, 23:19

Теги

Похожие вопросы