15

Я использую следующее для автоматического входа на удаленный сервер, а затем запускаю команды, перечисленные в commands.txt , например:

C:\path\to\putty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt

commands.txt содержит следующее:

ps -elf|grep 'sometext'

Однако, когда я пытаюсь это сделать, появляется новое окно для PuTTY, но оно закрывается и выходит сразу после входа в систему. В результате я не вижу вывод команды (й).

Я не понимаю, что здесь происходит. Я ошибаюсь в своем подходе или мне нужно предпринять дополнительные шаги, чтобы заставить окно PuTTY на некоторое время остановиться перед выходом?

5 ответов5

9

Вы должны использовать plink.exe (интерфейс командной строки для сервера PuTTY), а не putty.exe

Вы получаете это со страницы загрузки PuTTY

Без плинк:

Кажется, единственный способ - использовать опции -log <logfile> , а затем распечатать его содержимое и удалить его.

9

Сначала вам нужно будет создать отдельный файл, содержащий все команды, которые вы хотели бы выполнить.

Пример: я хотел бы загрузить и установить Drupal на своем домене, используя PuTTY. Для этого вы должны:

Сначала создайте файл .txt. В этом файле находятся команды. Мои следующие: " drush dl drupal " следующая строка, " drush si --account-name = [имя учетной записи] --account-pass = [учетная запись pass] --db-url = mysql://[user]: [pass ] @ localhost/[имя базы данных] --y "

После сохранения этого файла вы собираетесь создать BAT- файл или ввести его в командной строке CMD:

  • ssh.cmd
  • @ echo on [чтобы ты видел что происходит]
  • [Перейдите к вашей установке PuTTY. Мой это:] CD C:\Program Files\Putty
  • Запустите putty.exe -ssh [domain name] -l [username] -pw [password] -m [the directory of the .txt file you created which contains the codes you want to be executed]
2

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

Однако, когда я пытаюсь это сделать, появляется новое окно для PuTTY, но оно закрывается и закрывается сразу после входа в систему.

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

4.1.3 `Close Window on Exit'

   Finally in the Session panel, there is an option labelled `Close
   Window on Exit'. This controls whether the PuTTY terminal window
   disappears as soon as the session inside it terminates.
0

Не будет проблем, если вы просто захотите создать командный файл для открытия Unix-машины. Ниже приведен пример:

"PuTTY path" -ssh machinename -l username -pw password

Путь PuTTY должен быть в двойных кавычках, например "C:\Program Files\putty\putty.ext"

имя машины = имя машины без двойных кавычек

пароль = с кавычками

0

В дополнение к ответу Авирама:

Ниже приведен пример того, как вы будете запускать команды PuTTY из командной строки:

  • Сначала перейдите в каталог установки PuTTY, например, C:\Program Files\PuTTY , а затем выполните следующую команду:

    plink.exe -ssh server_ip -P номер_порта -l имя_пользователя -pw пароль

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