dirname
в macOS принимает только один путь, тогда как basename
может работать с несколькими путями. Однако безопаснее вызывать basename
с одним путем, чтобы случайно не попытаться удалить второй путь из конца первого, как в
$ basename some/file e
fil
При вызове этих утилит из xargs
вы можете попросить xargs
запускать утилиту с одной строкой с разделителями новой строки -за раз:
printf '%s\n' some arguments | xargs -I {} basename {}
или,
printf '%s\n' some arguments | xargs -I {} dirname {}
Вы также можете использовать xargs -L 1 utility
вместо xargs -I {} utility {}
.
Вы установили первый шаг, обратное соединение ssh? Если да, то ваш локальный узел A должен прослушивать произвольный порт, например 2222, через который трафик будет перенаправляться на порт 22 на сервере Azure B (, если на B используется порт sshd по умолчанию ).
На хосте типа А, ssh -p 2222 -D 4444 -N localhost
Я произвольно выбираю порт 4444 на локальном (хосте A )для прослушивания прокси-сервером SOCKS.
Трафик :4444 локальный A -> 2222 локальный A -> 22 Azure B
Для проверки используйте настройки прокси-сервера socks в браузере, например Chrome, google-chrome --proxy-server="socks://localhost:4444"
или выберите версию SOCKS, 4 или 5 google-chrome --proxy-server="socks4://localhost:4444"
Если все в порядке, вам следует просматривать Интернет, используя свою лазурную машину в качестве шлюза/прокси. Проверьте свой публичный IP, чтобы быть уверенным.