Я ищу быстрый и простой способ удаленной оболочки для моего малинового pi (без пароля и зашифрованного как ssh), потому что мой проект требует простой команды для малины pi много раз/секунду, любые идеи предлагают? update: метод должен использоваться в C++
Сырые TCP-сокеты. Трудно сделать это проще.
Серверная сторона:
#!/bin/bash
mkfifo /tmp/fifo.$$
netcat -l -p 12345 < /tmp/fifo.$$ | sh - &> /tmp/fifo.$$
rm /tmp/fifo.$$
Клиентская сторона: netcat ip.address 12345
Клиент также может быть реализован в C++ с помощью сокетов. Boost.Asio iostreams довольно просты. http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/example/cpp03/iostreams/daytime_client.cpp
#include <boost/asio.hpp>
boost::asio::ip::tcp::iostream s("ip.address", "12345");
s << "command\n";
s >> output;
./abc.sh
но через некоторое время он не работает (я отображаю nmap и не вижу порта 12345), пожалуйста, помогите!
ssh
в режиме master (ssh -M
). Это создает SSH-соединение с машиной с сокетом, который может быть использован при последующих попытках подключения, минуя необходимость повторной аутентификации.