В лабах модуля машины настоящие: терминал открыт на node1, а команды на node2 выполняют через SSH.
ssh node2 'команда' входит на node2, выполняет там команду и печатает её вывод у тебя. Кавычки отдают строку целиком оболочке node2: ssh node2 'sudo ss -ltn' покажет слушателей node2, а sudo ss -ltn без ssh — слушателей node1. Строка Warning: Permanently added 'node2'… при каждом входе — следствие настройки учебной пары, на команду она не влияет.
Перенаправление > за кавычками выполняет твоя оболочка. ssh node2 'sudo nft list ruleset' > rules.txt сохранит правила node2 в файл на node1. Внутри кавычек > запишет файл на node2.
Записывай наблюдения с именем машины: «на node1 маршрут прямой», «на node2 порт 80 слушает nginx». Так видно, какая сторона уже проверена.
Ты на node1 и набираешь ssh node2 'sudo nft list ruleset' > rules.txt. Где появится rules.txt?
-
>стоит за кавычками, и его выполнила оболочкаnode1. Наnode2файл появился бы, будь>внутри кавычек. -
sshпечатает вывод удалённой команды у тебя, и его можно перенаправить, как вывод любой команды. -
Перенаправление выполняет одна оболочка — та, что его увидела. За кавычками это оболочка
node1.
> за кавычками выполняет оболочка, в которой набрана ssh, — на node1. Чтобы файл записался на node2, перенаправление ставят внутрь кавычек.
Главное в шаге
-
ssh node2 'команда'выполняет команду наnode2; что в кавычках — то там. -
>за кавычками пишет файл на машине, где ты набралssh.