Вам не хватает опционального bind_address часть -Р Спецификация. в ssh документация (по ссылке Майкрософт) пишет,
По умолчанию прослушивающие сокеты TCP на сервере будут привязаны только к петлевому интерфейсу. Это можно переопределить, указав bind_address. Пустой bind_address, или адрес *, указывает, что удаленный сокет должен прослушивать все интерфейсы. Указание удаленного bind_address будет успешным только в том случае, если сервер Порты шлюза опция включена (см. sshd_config(5)).
Вы используете версию параметра с тремя кортежами, но вам нужна версия с четырьмя кортежами:
-R порт:хост:хостпорт
-R [адрес_привязки]:порт:хост:хостпорт
Таким образом, чтобы разрешить кому-либо подключаться к порту прослушивания на удаленном сервере, вам необходимо убедиться, что Порты шлюза включен в настройках сервера sshd_config и используйте такой вариант команды:
ssh -R :2222:localhost:22 пользователь @A
Ведущее двоеточие (:) также подразумевает начальный подстановочный знак звездочки, который разрешает подключения из любого места. Лично я думаю, что эта версия с подстановочным знаком делает более ясным, что написанное сделано намеренно:
ssh -R *:2222:localhost:22 пользователь @A