Когда я пытаюсь использовать несколько команд для удаленного выполнения команд через ssh внутри другого ssh, я получаю странный результат.
От man ssh:
-t
Принудительное выделение псевдотерминала. Это может использоваться для выполнения произвольных программ на экране на удаленной машине, что может быть очень полезно, например, при реализации сервисов меню. Несколько опций -t принудительно назначают tty, даже если ssh не имеет локального tty.
Если я сделаю
ssh -t root@host1 ssh root@host2 "cat /etc/hostname && cat /etc/hostname"
или
ssh -t root@host1 ssh -t root@host2 "cat /etc/hostname && cat /etc/hostname"
в обоих случаяхЯ получаю
host1
Connection to host1 closed.
host2
Connection to host2 closed.
Мне нужен этот результат:
host1
host1
Connection to host1 closed.
Connection to host2 closed.
Я хочу выполнить все команды на одном сервере, используя ssh внутри ssh.
Если я использую только одинssh, все работает:
ssh -t root@host1 "cat /etc/hostname && cat /etc/hostname"
host1
host1
Connection to host1 closed.