3

Я пытаюсь создать удаленную оболочку на OS X с NC.

Я пробовал nc -l 1337 -e /bin/bash но похоже, что версия Mac для Mac не поддерживает опцию -e .

Кто-нибудь знает, как я могу добиться удаленной оболочки на OS X желательно только с помощью встроенных инструментов?

К сожалению, SSH не вариант. То, что я делаю, должно быть сделано исключительно из командной строки (поэтому об изменениях параметров графического интерфейса не может быть и речи). Также я пытаюсь избежать паролей, потому что это вызовет проблемы для моей клиентской программы.

РЕДАКТИРОВАТЬ: Извинения за отсутствие информации. Я думал, что добавил достаточно.

По сути, у меня есть несколько виртуальных машин под управлением OS X, и мне нужно, чтобы они могли использовать командную строку друг друга. Мой план состоял в том, чтобы на каждом из них работал NC, и основная виртуальная машина могла отправлять им команды через скрипт PHP.

Кроме того, причина желания использовать встроенные команды / инструменты заключается в том, что в конечном итоге это будет выполняться на физическом оборудовании, а компьютеры Mac будут регулярно добавляться и удаляться, и я не хочу устанавливать новое программное обеспечение на клиентские машины.

Причина, по которой следует избегать действий с графическим интерфейсом, заключается в том, что это будет выполняться без надзора за мной, и я стараюсь сделать это как можно более плавным. Когда машина подключена, я могу запустить одну команду, и мне нужно выполнять много команд и передавать файлы, поэтому мне нужна удаленная оболочка.

5 ответов5

2

Обычный способ - включить службу ssh для доступа к командной строке.

Сам Mac способ сделать это:

  1. Перейти к приложению Sytem Preferences
  2. Выберите общий доступ
  3. Установите флажок "Удаленный вход"

Теперь вы сможете подключиться, используя любой стандартный ssh клиент. Mac и Linux / Unix машины имеют встроенный. PuTTY - хороший выбор для Windows.

2

Что ж, проблема, которую вы испытываете с NC (если вы говорите о NETCAT), версия Apple не имеет опции -e в своей корзине.

Лучшее решение - скомпилировать версию NC для GNU с использованием apple SDK, а затем заменить версию apple на вашу собственную версию GNU NC. насколько я знаю, у apple нет планов добавлять опцию -e в appleNC.

Я должен был сделать это для нескольких яблочных демонов, которых ... не хватало.

надеюсь это поможет

1

Во-первых, nc (о котором я раньше ничего не знал) выглядит как программа telnet . Небезопасно в лучшем случае и довольно элементарно. Я бы не советовал пытаться его использовать.

Во-вторых, вы не смогли адекватно описать, что вы пытаетесь сделать. Вы пытаетесь удаленно войти в компьютер Mac OS X с другого компьютера? Вы пытаетесь удаленно с компьютера OS X на другой? Вы пытаетесь создать какой-то удаленный сервер, доступный извне?

Почему вы не можете использовать SSH? Почему вы можете настроить вещи через системные настройки?

1

К сожалению, SSH не вариант. То, что я делаю, должно быть сделано исключительно из командной строки

Вы можете включить SSH-доступ, используя sshd или /usr/sbin/sshd -p 1337 для прослушивания непривилегированного порта (следовательно, не требуется пароль sudo ).

1

Если вы настроили ключи SSH (например, с помощью «ssh-keygen -t rsa») без ключевой фразы, а затем поместили открытый ключ (как это было найдено в ~/.ssh/id_rsa.pub) в ~/.ssh/authorized_hosts файл на хосте удаленного пользователя, тогда вам не нужно будет обмениваться паролями, и все можно сделать из командной строки, используя ssh.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .