как «поженить» ssh и knock?
Часто сервера перед подключением по ssh требуют «постучаться» по определённым UDP-портам.
После простукивания портов даётся некоторое время для входа по ssh.
Вот только приходится вбивать две команды — сначала стучалку, а потом ssh.
А хочется, чтобы на все хосты можно было заходить одинаково — просто ssh user@KnockedHost.
Предположив, что сия идея не мне первому пришла в голову, я залез в man ssh_config и наткнулся на поле ProxyCommand :)
Вроде, то, что надо!?
Прописываем в .ssh/config:
Host KnockedHost
HostName knocked.host.com
ProxyCommand /bin/sh -c "/usr/bin/knock %h 1111 2222 3333 && sleep 10 && nc %h %p"
И тогда перед вызовом ssh KnockedHost не нужно будет вручную делать knock knocked.host.com 1111 2222 3333, так как это будет происходить автоматически!
Таким образом можно вызывать любую команду перед подключением по ssh к какому-то хосту.
Полезная инфа (на самом деле, её гораздо больше, юзайте Google!):