Подключиться (SSH )к одному и тому же серверу через два разных шлюза с разными пользователями сервера

Потому что обнаружить бесполезного кота действительно очень сложно.

У меня был сценарий оболочки, в котором я написал

cat | (somecommand <<!
...
/proc/self/fd/3
...
!) 0<&3

Сценарий оболочки не работал в рабочей среде, если catбыл удален из-за того, что он был вызван через su -c 'script.sh' someuser. Явно лишний catзаставил владельца стандартного ввода измениться на пользователя, от имени которого выполнялся скрипт, так что его повторное открытие через /procсработало.

0
02.04.2020, 18:32
1 ответ

Как вы поняли, псевдонимы — хорошее решение. Если вы не хотите их использовать, директива Matchможет быть еще одним допустимым вариантом.

Host target.server
    Match User user1
        ProxyCommand ssh -o 'ForwardAgent yes' gateuser1@gateway1.example 'ssh-add && nc %h %p'
    Match User user2
        ProxyCommand ssh -o 'ForwardAgent yes' gateuser2@gateway2.example 'ssh-add && nc %h %p'

Из справочной страницы ssh_config:

Match Restricts the following declarations (up to the next Host or Match keyword) to be used only when the conditions following the Match keyword are satisfied.

2
28.04.2021, 23:18

Теги

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