Intereting Posts
Как удалить символы из столбца с помощью awk Почему xubuntu устанавливает множество загрузок, когда я выбрал только рабочий стол? Как применить параметры к конкретным ядрам с помощью GRUB 2? Как я могу доверять самозаверяющему сертификату для Zypper? Не удалось распознать старые интерфейсы после обновления материнской платы Кэш всех паролей паролей gpg сразу? Предотвратить необходимость ввода нескольких паролей в gpg? Как установить определенные части libre-office на Arch Linux Установка Lakka на старый Macbook Pro Почему `bash -c somecommand` иногда не оставляет процесс bash? Изменение GID системных групп (GID 100 – 105 до 200 – 205) Chrome – проблема с картами google Как восстановить скрипт оболочки, который я удалил из определенной папки в Debian 7? Как заставить устройство Alsa Loopback работать в Pureata Как устранить проблемы / проблемы с аудио в Arch? Система зависает при замене

Ожидайте сценарий + автоматизированный процесс telnet между тремя машинами Linux

Можно ли сделать следующий сценарий ожидания?

У меня есть Linux-сервер, подключенный к linux_machine1 и linux_machine1, подключенный к linux_machine2

Мой Linux-сервер имеет доступ только к linux_machine1 (linux-сервер может telnet подключиться к linux_machine1, но не может подключиться к linux_machine2 )

Но из linux_machine1 у меня есть доступ к VIA telnet к linux_machine2

Поэтому мой вопрос:

Мне нужно разработать сценарий ожидания, который выполняет telnet с сервера Linux на linux_machine1

то ожидание будет выполнять telnet для linux_machine2 из linux_machine1 и скопирует файл / etc / hosts из linux_machine2 на мой Linux-сервер

Можно ли реализовать этот сценарий сценария ожидания?

Короткий пример, описывающий процесс:

( run expect from Linux server ) --> linux_machine1 --> linux_machine2 Linux server <-- /etc/hosts from linux_machine2 <-- 
  • примечание – ожидать, что скрипт должен быть активирован с сервера linux

Из Linux_Server запустите приведенный ниже сценарий.

Не используйте telnet поскольку он незашифрован. Вы можете использовать ssh и sftp как sftp ниже.

 #This part connects to Machine1 #Just change username, password_here and Linux_machine1 to suit your requirement. #!/usr/bin/expect -f spawn telnet -l username linux_machine1 expect "*?assword:*" send -- "password_here\r" send -- "\r" expect eof #Now we are connected to Linux_Machine1 from where we will connect to Linux_machine2 #Just change username, password_here and Linux_machine2 to suit your requirement. spawn ftp username@machine2 expect "*?assword:*" send -- "password_here\r" send -- "\r" expect eof expect "ftp>" send -- "get /etc/hosts\r" expect "ftp>" send "quit \r" 

В вашей локальной папке Linux_Server будет присутствовать копия /etc/hosts .

PS : Протестировано на локальной машине и работает отлично. Если вы все еще хотите использовать telnet, приведенный выше сценарий даст вам представление о том, как это сделать. Вы можете изменить подключения ssh и sftp к telnet по своему усмотрению.

PPS : Я был бы очень признателен, если бы вы ответили либо кирпичами, либо комплиментами, так как я потратил добрые полчаса на подготовку этого сценария 🙂 Хорошо, не полчаса, но точно 15 минут 🙂