Я пытался автоматически вводить ssh-соединение, используя скрипт. This предыдущий пост SOF помог мне до сих пор. Использование одного соединения работает (первый оператор ssh
). Тем не менее, я хочу, чтобы создать еще одно соединение SSH когда-то соединял, который я думал, может выглядеть следующим образом:Подключитесь к нескольким связям ssh через скрипты
#! /bin/bash
# My ssh script
sshpass -p "MY_PASSWORD1" ssh -o StrictHostKeyChecking=no *my_hostname_1*
sshpass -p "MY_PASSWORD2" ssh -o StrictHostKeyChecking=no *my_hostname_2*
При запуске сценария, я получаю подключен только к my_hostname_1
и второй ssh
команды не не работает, пока я не выход первое соединение ssh
.
Я попытался с помощью if
заявление так:
if [ "$HOSTNAME" = my_host_name_1 ]; then
sshpass -p "MY_PASSWORD2" ssh -o StrictHostKeyChecking=no *my_hostname_2*
fi
, но я не могу получить какие-либо команды для чтения, пока не выходить из первого соединения.
Я имею в виду, как он должен работать? У вас не может быть двух активных сеансов SSH в одном окне (несмотря на то, что вы разбиваете панель). Что именно ты пытаешься сделать? –
Если вы надеетесь отправить один и тот же CMD (в то же время) на несколько компьютеров, это не решение. (Существует программа sysadmin, которая сделает это, но я не могу найти это имя прямо сейчас). В противном случае прочитайте о запуске shell cmds в фоновом режиме с символом '&' в конце cmd-линии. Удачи. – shellter
@TimZimmermann: он, вероятно, хочет использовать первый хост в качестве шлюза ко второму. – salva