Назад | Перейти на главную страницу

Несколько пользователей используют сценарий для доступа к удаленному серверу через SSH без пароля

В настоящее время я настраиваю окно Linux, привязанное к Active Directory. Это поле позволит пользователям подключаться к нему по SSH со своим именем пользователя и паролем AD для сбора информации (поле A). Проблема в том, что я пытаюсь создать функцию в /etc/bash.bashrc, поэтому пользователи должны ввести, например, «get_info», функция будет SSH на удаленном компьютере (Box B) запустить команду и вывести информацию обратно к пользователю.

Проблема в том, что я сгенерировал ключ rsa в Box A, добавил его в поле authorized_keys Box B, и он отлично работает. Проблема, с которой я сталкиваюсь, заключается в том, как мне настроить это один раз для текущих пользователей и любого нового пользователя, который входит в Box A.

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

Функция get_info получит значение get_info 012345 и вернет результаты.

Что нужно:

  • Общие ключи пользователей
  • Создать общий скрипт на сервере
  • В вашей конфигурации ssh ограничьте пользователя определенными командами:

    command = "/ bin / myscript.sh", no-port-forwarding, no-X11-forwarding, no-agent-forwarding, no-pty ssh-dss AAAAB3 .... o9M9qz4xqGCqGXoJw = пользователь

  • Создайте сценарий в локальном ящике или в их домашних папках, который выполняет команду ssh на удаленном сервере, выполняет сценарий на сервере и затем выводит

  • Если вам нужен ввод в удаленный сеанс, вы можете запустить свой локальный скрипт

    ./local.sh 01234

Что выполняет:

ssh user@remote '/bin/myscript.sh $1'

Это интерпретируется как

ssh user@remote '/bin/myscript.sh 01234

Вместо того, чтобы менять /etc/bash.bashrc, почему бы не создать программу (возможно, написанную на bash), которая будет находиться в стандартном PATH для всех пользователей на локальном хосте. Эта программа может вызывать ssh с флагом, указывающим на общий закрытый ключ в локальной системе (например, вы можете поместить его в / etc или / etc / opt / где-нибудь). Удаленная система будет иметь единственную учетную запись, содержащую файл открытого ключа, измененный (см. Справочные страницы ssh), чтобы любой, кто использует открытый ключ, мог выполнить только одну команду (то есть вашу информационную команду).