Средство netcat
- это просто средство сетевого подключения. Он может прослушивать любой порт и подключаться к любому порту. Он может выводить эту информацию или даже передавать данные. Это тоже очень полезно. К сожалению, он только слушает и отправляет информацию; он не выполняет никаких команд сам. Таким образом, netcat
не является инструментом для того, что вы хотите сделать. То же самое относится и к Telnet.
Для запуска команд на удаленном сервере вам понадобится программное обеспечение, которое работает на этом удаленном сервере, которое будет принимать эти команды. Инструмент для выполнения команд на удаленном сервере - SSH. На сервере прослушивания будет запущен демон SSHD. Вы могли бы попытаться найти способ взломать сервер каким-либо другим способом, но, поскольку у вас уже есть доступ к этому устройству, это действительно будет больше проблем, чем стоило бы, поскольку SSH уже существует.
Вы говорите, что ваше приложение не может подключиться к SSH, но если у него есть доступ к netcat
, я бы порекомендовал использовать любой доступ, чтобы получить доступ к SSH, и выполнять ваши команды оттуда.
Если вы подключаетесь к netcat
, что он прослушивает порт, и единственное, что может сделать ваше приложение - подключиться к этому порту, то вам нужно создать какой-то API или какое-то программное обеспечение. который может обрабатывать запросы через порт и использовать их для выполнения команд на терминале через SSH. Я нашел эту статью с некоторыми предложениями для этого в BASH:
https://unix.stackexchange.com/questions/314550/how-to-set-a-script-to-execute-when-a-port-receives-a-message
Как только вы сможете получить запрос в сценарий оболочки, вы можете либо заставить этот сценарий выполнять ваши команды напрямую, либо вы можете написать дополнительные сценарии, которые запускаются программным обеспечением для прослушивания. Я хотел бы, чтобы это программное обеспечение слушало на клиенте, а не на удаленном сервере, и вы могли бы получить к нему доступ через localhost (127.0.0.1). Кроме того, не забудьте добавить ключ SSH, чтобы ваше подключение к удаленному серверу не требовало использования каких-либо паролей. Эта статья может помочь с этим:
https://docs.joyent.com/public-cloud/getting-started/ssh-keys/generating-an-ssh-key-manually/manually-generating-your-ssh-key-in-mac-os-x