Автоматизация сценария: войдите, введите пароль, команды выполнения, сохраните вывод локально?

Да, можно установить OpenLDAP для действия как кэширующийся сервер LDAP прокси, законченный спиной AD.

Посмотрите это, например (но просто сделайте поиск "может openldap проксировать запросы ldap к активному каталогу", и у Вас будет много для просмотра".

0
задан 17 September 2009 в 20:45
4 ответа

Это возможно, но Правильный Инструмент, ожидают. Существуют, также как будто ожидают библиотеки, доступные для большинства языков сценариев.

3
ответ дан 4 December 2019 в 11:40

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

Другие предположения:

  • Вы используете ssh
  • Вы находитесь в системе типов Linux
  • если Вы находитесь на окнах, попытайтесь установить cygwin (возможно, излишество для того, что Вы делаете),

я создал бы ssh пару ключей* между Вашей локальной и удаленной машиной, это позволяет Вам настроить безопасное соединение w/o имеющий необходимость ввести в пароле (очень полезный для автоматизированных сессий). ссылка к Google, потому что существует столько учебных руководств, и они варьируются немного, таким образом, необходимо найти один для версии операционной системы.

после того как Вы можете к этому, можно выполнить команды удаленно

$local machine> ssh remoteserver.com /file/to/execute.sh

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

1
ответ дан 4 December 2019 в 11:40

Вот образец, ожидают сценарий, который автоматизирует Ваш ssh (принимающий) Источник входа в систему: http://bash.cyberciti.biz/security/expect-ssh-login-script/

#!/usr/bin/expect -f
# Expect script to supply root/admin password for remote ssh server
# and execute command.
# This script needs three argument to(s) connect to remote server:
# password = Password of remote UNIX server, for root user.
# ipaddr = IP Addreess of remote UNIX server, no hostname
# scriptname = Path to remote script which will execute on remote server
# For example:
#  ./sshlogin.exp password 192.168.1.11 who
# ------------------------------------------------------------------------
# Copyright (c) 2004 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# ----------------------------------------------------------------------
# set Variables
set password [lrange $argv 0 0]
set ipaddr [lrange $argv 1 1]
set scriptname [lrange $argv 2 2]
set arg1 [lrange $argv 3 3]
set timeout -1
# now connect to remote UNIX box (ipaddr) with given script to execute
spawn ssh root@$ipaddr $scriptname $arg1
match_max 100000
# Look for passwod prompt
expect "*?assword:*"
# Send password aka $password
send -- "$password\r"
# send blank line (\r) to make sure we get back to gui
send -- "\r"
expect eof
1
ответ дан 4 December 2019 в 11:40
  • 1
    Никакой ' bash' в этом сценарии удара. It' s на самом деле ожидать сценарий. –  Insyte 17 September 2009 в 22:22
  • 2
    Мое плохое. Я имел в виду, ожидают. Извините. –  Sharjeel 18 September 2009 в 10:13

Я попробовал, это с ожидает, но это не работало: это закрыло соединение в конце.

Мы можем запустить скрипт через ssh, который войдет в удаленные машины, выполнит команду и не разъединение?

Таким образом, ssh в машине, CD к такой и такой каталог, и затем выполненный, команда, и остается, вошел в систему.

- Jonathan

0
ответ дан 4 December 2019 в 11:40

Теги

Похожие вопросы