SSH поддерживает ключи. Если вы настроили закрытый и открытый ключи, нет необходимости использовать пароль.
Это означает, что вы не отключаете вход по паролю, а просто используете другой метод аутентификации на машине.
Сообщение об ошибке указывает, что вы не запускали его с выпуском оболочки bash
более новым, чем выпуск 4.0. Предположительно сценарий опирается на функции, которые реализует оболочка bash
, которые отличаются от набора функций, предписываемых стандартом POSIX для языка оболочки Unix, или расширяют его.
Конец вашего вопроса подтверждает, что вы запустили его с sh
, который в вашей системе может быть какой-то оболочкой, отличной от bash
. Даже если ваш sh
является замаскированным bash
, это будет оболочка, работающая в режиме POSIX.
Попробуйте запустить скрипт с bash
или, если скрипт имеет строку#!
-в самом верху, просто сделайте скрипт исполняемым (с chmod +x scriptname
), а затем запустите его как ./scriptname
.
Переменная среды POSIXLY_CORRECT
— это переменная, которая помогает утилитам выбирать поведение, когда инструмент реализует поведение, отличное от того, что предписывает стандарт POSIX.
Оболочка bash
будет действовать несколько иначе в режиме POSIX (, т. е. если set -o posix
включен или оболочка запущена какsh
). Различия описаны в разделе "Bash POSIX Mode " руководства bash
.