Если я делаю переадресацию удаленного порта, например, -R 3690:localhost:3690
когда привязка к порту на удаленном хосте уже существует, я получаю это предупреждение:
Warning: remote port forwarding failed for listen port 3690
Есть ли способ вызвать ошибку ssh (т.е. выйти с ненулевым кодом возврата), а не просто выдать предупреждение?
ssh
port-forwarding
exit-code
Мэтт Столяр
источник
источник
Ответы:
Бег
или положить
в
~/.ssh/config
. Смотритеman ssh_config
подробности.источник
bind_address
тогда ssh может все еще не работать. Например, если другой пользователь уже прослушивает ipv6 localhost,[::1]:3690
тогда ssh может связать только ipv4127.0.0.1:3690
и не жаловаться. Но ваш клиент SVN, вероятно, предпочел бы сокет ipv6 (атакующего). Чтобы быть в безопасности, лучше использовать-R [::1]:3690:localhost:3690 -R 127.0.0.1:3690:localhost:3690
Я использую скрипт bash на целевом хосте, чтобы убедиться, что переадресация была открыта правильно. Соединение SSH запустит это и завершит работу, если есть проблема с переадресацией порта, например
скрипт на стороне клиента: (для настройки переадресации портов используется .ssh / config)
серверный скрипт (bin / sshloop.sh)
Может быть, даже запустить сценарий на стороне клиента под экраном с -dmS
источник