Кажется, что кто-то еще изменил sshd_config B. Изменение PasswordAuthentication да и перезапуск сервиса устранили проблему.
Разница заключается в следующем:
echo "INT is an integer."
записывает в стандартном режиме, а
echo "INT is not an integer." >&2
записывает в стандартную ошибку.
В Unix-мире stdout
обычно используется, когда все работает правильно, а stderr
обычно используется для печати сообщений, когда что-то идет не так.
По умолчанию, stdout
и stderr
оба печатаются на вашем экране. Основное отличие состоит в том, что операторы >
и |
по умолчанию перехватывают stdout
, но не stderr
.
Итак, если ваш скрипт находится в середине конвейера, INT является целым числом.
будет продолжаться вниз по конвейеру, а INT не является целым числом
будет печататься на вашем экране вместо перехода в конвейер.
Эта строка объединяет стандартную ошибку в стандартную. Вы делаете это и хотите видеть вывод стандартной ошибки. Не уверен, почему вы думаете, что это необходимо.