Аутентификация SSH: или ключи SSH или одноразовый пароль

Наличие метра прогресса в файле журнала не звучит очень полезным. Как насчет выполнения scp с его стандартным выводом, подключенным к терминалу? Это действительно имеет оборотную сторону, что, если сценарий является прерванной серединой передачи, не будет ничего в журнале для указания на прогресс (но это - очень незначительная оборотная сторона как размер частичной передачи).

scp remotehost:/path/to/file /local/file >/dev/tty

Если Вы хотите сохранить вывод прогресса от scp, можно использовать script.

script -q /dev/stdout -c 'scp remotehost:/path/to/file /local/file' | tee scp.log

С другой стороны, можно вставить pv в конвейере для получения признака прогресса. Это не столь хорошо как scp потому что pv только знает число переданных байтов, не общее количество.

ssh remotehost 'cat /path/to/file' | pv -bpt >/local/file

7
28.12.2011, 21:49
4 ответа

Править: жаль об ответе на мой собственный вопрос! (Другие два ответа являются большими, но не полностью отвечают на вопрос. Но все еще очень полезный!)

Сменный Модуль аутентификации OTPassword реализует Идеальную Бумажную систему Пароля Steve Gibson в PAM для Linux. После того как Вы устанавливаете это, у Вас будет аутентификация PPP. Но что относительно ssh обхода ключей? FAQ на их сайте отвечает на этот вопрос:

Если у Вас есть доверяемая машина, от которой Вы часто входите в свое использование удаленной системы ssh ключи. Генерируйте их с ssh-keygen, и скопируйте свой новый ~/.ssh/id_rsa.pub в ~/.ssh/authorized_keys на удаленном компьютере. Когда SSH аутентифицирует пользователя с ключами, он опускает PAM.

Удобно автоматический!

Править: Аутентификатор Google и безопасность Duo также походят на хорошие решения. Они не обеспечивают одноразовые пароли на бумаге; вместо этого они используют Ваш смартфон для генерации постоянно изменения ключ TOTP. (Безопасность Duo также работает с dumbphones путем отправки им текстового сообщения с несколькими одноразовыми паролями. Однако защита Duo не локальна; необходимо полагаться на их серверы...),

3
27.01.2020, 20:16
  • 1
    Кроме того, Barada является другим решением, которое выглядит многообещающим; вместо бумажных одноразовых паролей это использует смартфон для генерации пароля от PIN, который Вы предоставляете. Если Вы находитесь в достоверной системе, можно просто ввести стандартный пароль. –  mr_schlomo 28.12.2011, 21:31
  • 2
    более активный проект является Google Authenticator. –  mr_schlomo 28.12.2011, 21:40
  • 3
    Извините, что добавил другой комментарий, но я нашел безопасность Duo, которая также похожа на большой optw/dual факторный способ аутентификации. –  mr_schlomo 28.12.2011, 21:52
  • 4
    Необходимо отредактировать ответ для включения всего это. –  Mat 29.12.2011, 08:49

Аутентификация с открытым ключом с OTP как нейтрализация (это - то, что Вы имели в виду, правильно?):

  1. Автор с открытым ключом с нейтрализацией Пароля является значением по умолчанию OpenSSH behaivour
  2. То, как Ваш пароль проходит проверку, лучше всего определяется в конфигурационных файлах PAM
3
27.01.2020, 20:16

Это может быть просто, но существует также несколько ловушек для предотвращения:

Большинство Ваших изменений конфигурации должно произойти в sshd_config файле, обычно располагаемом в/etc/ssh/sshd_config

Вы уже совместно использовали ключи, работающие, таким образом, я пропущу это здесь:

Строка, на которую Вы хотите обратить внимание:

PasswordAuthentication yes

Протесты, о которых Вы хотите знать, находятся в ограничении, кто может войти в систему и как. Они должны ВСЕ существовать для ограничения доступа к максимально малочисленной группе пользователей:

PermitEmptyPasswords no
AllowUsers sshuser@192.168.*
AllowGroups sshusers

Существует много опций, которые можно установить, здесь рассматривают страницу справочника для полного набора доступных опций.

Я рекомендовал бы создать группу только для ssh полномочий.

Следующий флаг, также настоятельно рекомендуйте:

PermitRootLogin no

Это заставит демона запрашивать пароль, если ключ не будет sent/reconigized. Можно добавить препятствие OTPW, если Вам нравится, но Вы находитесь теоретически в зашифрованной среде, таким образом, это не должно строго быть необходимо. Смотрение на информацию OTPW, Вы связали код, кажется, было в последний раз обновлено 2003, которым я был бы, ненавидят для использования его, не получая некоторую экспертную оценку. Безопасные методы кодирования и действительно целая среда изменились много с тех пор.

1
27.01.2020, 20:16
[1175328] Хотя этот метод не проверяет 1 способ аутентификации, он решает проблему входа с небезопасных/недоверенных машин с помощью OTP.

Чтобы настроить SSH-демон на прослушивание нескольких портов (один для аутентификации по открытому ключу, а другой для аутентификации по OTP), просто добавьте другой номер порта в файл sshd_config, т.е.

2-FA основана на двухшаговой технологии аутентификации от Google. Для установки библиотеки и программы:

А пока установите на смартфон приложение Google Authenticator. После установки, из терминала запустите программу:

Это даст вам штрих-код, секрет и кучу скретч-кодов. БЕРЕГИТЕ ИХ!!! Если у вас нет доступа к вашему телефону или по каким-либо другим причинам вам необходим экстренный доступ, эти коды будут вашим единственным выходом. Не недооценивайте, насколько важен этот резервный механизм. В конце концов, он может тебя подставить. Настройте модуль PAM на использование Google Authenticator:

Чтобы отключить функцию ввода пароля, поставьте # перед строкой @include Common-auth. Также в нижней части файла добавьте:

Чтобы включить аутентификацию по OTP:

Найдите строку с этой фразой: [1175704]ChallengeResponseAuthentication[1175705] и измените его с "no" на "yes".

Установите [1175706]PermitRootLogin no[1175707] и [1175708]PasswordAuthentication no[1175709].

  1. В конце файла используйте параметр "match", чтобы определить, какой(ие) механизм(ы) аутентификации должен(ы) использоваться для доступа к машине с этого порта, например:

Параметр "keyboard-interactive:pam" заставляет SSH-демон перейти к демону модуля PAM (сконфигурирован в разделе [1175710]/etc/pam. d/sshd[1175711]) и аутентифицироваться, как там указано (отсюда и необходимость отключить вход в PAM-модуль с помощью хэша из строки [1175712]common-auth[1175713]). Не забудьте перезапустить SSH-демон, чтобы изменения вступили в силу:

Затем, находясь на недоверенной машине, просто вставьте SSH в порт 60000 (или что бы вы ни установили) и используйте OTP для аутентификации.[1175351].

5
27.01.2020, 20:16

Теги

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