Безопасное соединение с удаленным хостом и проверка - PullRequest
0 голосов
/ 06 февраля 2012

Мне нужно написать программу на C, чтобы проверить наличие MAC-адреса компьютера в удаленном текстовом файле.

  1. Есть ли какие-нибудь простые в использовании библиотеки ssh, которые позволяют программе подключаться к удаленному хосту и проверять, содержит ли файл что-то?

  2. Или я должен использовать функцию system() для запуска ssh и простых команд на удаленном хосте.

  3. Это должно быть безопасно, поэтому, вероятно, мне нужно использовать открытые ключи. Можно ли использовать один и тот же открытый ключ с разных компьютеров (каждый со своей программой)?

Мне нужно проверить, разрешено ли компьютеру с данным MAC-адресом (или другим идентификатором) что-либо делать. И эта операция должна быть удаленной, чтобы я мог удаленно включать / отключать функции.

1 Ответ

2 голосов
/ 06 февраля 2012

1) Я не знаю, просто ли это, но есть http://www.libssh.org/ из IIRC, те же самые люди, которые делают cURL

2) Да, вам, вероятно, следует сделать это с помощью «системной функции» сценария оболочки (или system / popen, если вам абсолютно необходимо иметь результаты внутри программы на C), поскольку это сэкономит вам много неприятностей перевоплощать вещи.

3) Открытые ключи - да; и хотя возможно повторное использование открытых ключей на нескольких хостах / пользователях, это не очень хорошая практика безопасности; Лучше было бы сгенерировать пару ключей для каждого пользователя / хоста, а затем добавить открытый ключ в .ssh / authorized_keys на компьютере, к которому нужно подключиться. Это означает, что отзыв ключей - это просто удаление строки в одном текстовом файле вместо регенерации ключа для нескольких хостов. Однако, если он не чувствителен к безопасности, или если безопасность просто не имеет значения в этом случае (!), То использование одного ключа может быть не слишком безумным. То есть, если вам нужно несколько клиентов для проверки существования на одном хосте; если нет, пожалуйста, обновите ваш вопрос, чтобы быть более ясным в этом отношении.

...