Один из способов — настроить доступ без пароля (аутентификацию с открытым ключом ), другой — мультиплексировать соединения. Создайте файл конфигурации в ~/.ssh/config
со следующим:
Host remote_host
User user
ControlPath ~/.ssh/controlmasters/%r@%h:%p
ControlMaster auto
ControlPersist 5m
Создать каталог~/.ssh/controlmasters/
:
mkdir -m 700 ~/.ssh/controlmasters/
Затем, когда вы запускаете скрипт, он должен запросить пароль только один раз, а все остальные команды будут выполняться через то же, уже аутентифицированное соединение.
Принимая во внимание комментарии выше, мне удалось найти решение вышеизложенного.
udevadm info /dev/ttyUSB0 | grep "ID_PATH="
Выше перечислены пути sysfs для порта, к которому подключен /dev/ttyUSB0
. Используйте это значение для создания правил для любого количества устройств (ttyUSB1
, ttyUSB2
.... )в файле правил, скажем /etc/udev/rules.d/101-usb-serial.rules
следующим образом:
SUBSYSTEM=="tty",ENV{ID_PATH}=="pci-0000:00:14.0-usb-0:10.1:1.0",SYMLINK+="ttyUSB001"
SUBSYSTEM=="tty",ENV{ID_PATH}=="pci-0000:00:14.0-usb-0:10.2:1.0",SYMLINK+="ttyUSB002"
SUBSYSTEM=="tty",ENV{ID_PATH}=="pci-0000:00:14.0-usb-0:10.3:1.0",SYMLINK+="ttyUSB003"
После внесения изменений или создания файла выполните следующее:
sudo udevadm control --reload-rules
sudo /etc/init.d/udev restart
П.С.:В приведенном выше примере сценария (тот, который я использую ), использует USB-концентратор Belkin с 4 -портами. Device 1
подключается к port 1
концентратора Device 2
подключается к port 2
и так далее.