Докер: ssh зависает после ввода пароля

если можно зарегистрировать доступы к другому файлу журнала, необходимо также смочь указать формат файла журнала, и awstats должен смочь обработать журнал и является cronjob'able, так может регулярно обрабатывать результаты и будет иметь довольно достойную статистику для Вас

если Вы хотите сделать броское построение графика однако (awstats, только делает основные панели), затем, Вам будет нужно что-то еще

1
задан 20 March 2017 в 12:04
3 ответа

Следующее не будет зависать

$ ssh -p2222 chrome@localhost /bin/bash -i --noprofile --norc

Параметр -i для bash необходим для получения интерактивной оболочки.


Из Bash Справочное руководство 1.2 Что такое оболочка? Раздел :

Оболочки можно использовать интерактивно или не интерактивно. В интерактивном режиме они принимают ввод, вводимый с клавиатуры. При выполнении в неинтерактивном режиме оболочки выполняют команды, считанные из файла.

и 6.3.1 Что такое интерактивная оболочка? :

Интерактивная оболочка запускается без аргументов, не являющихся параметрами, если только -s указан без указания опции -c, и чей ввод и вывод ошибок оба подключены к терминалам (как определено isatty (3)), или один запускается с опцией -i.

Интерактивная оболочка обычно читает из терминала пользователя и пишет в него.

0
ответ дан 3 December 2019 в 21:16

Это не имеет ничего общего с докером, вы можете получить то же самое, когда вы ssh на удаленном хосте.

Подсказка к проблеме находится в man-странице ssh

-t Force pseudo-tty allocation. Это может быть использовано для выполнения arbi- трёхэкранные программы на удалённой машине, которые могут быть очень полезен, например, при внедрении служб меню. Multiple -t опции принудительного распределения tty, даже если у ssh нет локального tty.

Таким образом, ssh не использует распределение tty, если вы предоставляете удаленную команду для выполнения, если только вы не используете переключатель -t. Так как bash интерактивен, то для его выполнения требуется tty.

.
3
ответ дан 3 December 2019 в 21:16

Когда вы запускаете контейнер с запуском докера , вы должны указать -it для интерактивного терминала по той же причине, что описана выше.

В качестве наблюдения из вашего файла докеров вы можете добавить - net = host в команду docker run , чтобы контейнер мог получить доступ к собственным конфигурациям сетевого адаптера, если вы не хотите явно использовать EXPOSE 22 .

Кроме того, (как бы глупо это ни звучало, я знаю) у меня были проблемы при входе в систему с помощью docker даже в локальном контейнере, где отображается зависнуть, но если я просто нажму , я получаю приглашение ...

-1
ответ дан 3 December 2019 в 21:16

Теги

Похожие вопросы