Это «особенность» GNU grep
(и других утилит GNU, которые аналогичным образом анализируют командную строку). Подпрограммы синтаксического анализа командной строки, которые использует GNU, позволяют указывать флаги после того, что должно быть последним операндом в командной строке.
Чтобы обойти это, явно сообщите утилите, что больше не будет флагов командной строки:
$ grep -- hi *
Это заставляет grep
обрабатывать имена файлов, расширенные из *
оболочкой. как имена файлов, а не как опции.
Очень сбивает с толку то, что вы пытаетесь описать, но в целом это должно сработать:
Прокси-сервер создает туннель ssh, прокси: 9000 -> удаленный: 22
{{1} } [proxy] $ ssh -g -L proxy: 9000: localhost: 22 remote
Клиент подключается: curl proxy_user @ proxy -p 9000
Клиент должен подключиться, используя ssh
, не так ли?
[client] ssh -p 9000 proxy
Но Первый шаг можно настроить с помощью простой переадресации портов, используя iptables
или около того. Связь уже зашифрована при первом соединении ssh
.