У вас две проблемы.Во-первых, xterm
и gnome-terminal
- это не те программы, которые предоставляют команды приглашения и принятия, а просто способ подключения клавиатуры и экрана к этой программе, которая является вашей оболочкой (обычно /bin/bash
).Итак, на самом деле bash
вы хотите подключить к netcat.
Во-вторых, вам нужно больше, чем просто однонаправленный канал, который вы получаете с |
.Если вы используете:
nc -l -p 1500 | /bin/bash
, то у вас будет только труба от пользователя до bash
- они смогут дать ввод, ноне увидит никакого выхода.В качестве альтернативы, если вы сделаете:
/bin/bash | nc -l -p 1500
, тогда будет применено обратное - у вас будет только канал до пользователя с bash
.Пользователь увидит вывод из bash
, но не сможет дать никакого ввода.
К счастью, netcat поддерживает возможность создания двунаправленного канала (фактически, двух каналов) для другой команды:
nc -l -p 1500 -e /bin/bash
Это будет делать то, что вы хотите - но учтите, что bash
не будет отображать приглашение, так как оно будет работать в «неинтерактивном» режиме.
О, и еще одна вещь- да, это действительно плохая идея.