Kerberos Kinit введите пароль без запроса - PullRequest
24 голосов
/ 16 ноября 2011

Я смотрел на это: http://docs.oracle.com/javase/7/docs/technotes/tools/windows/kinit.html

и заметил, что там написано, что я могу использовать "флаг пароля". Я не уверен, как это сделать?

Могу ли я ввести пароль для kinit без запроса?

Например, в настоящее время,

Если я наберу:

kinit test@REALM

Я получаю ответ:

test@REALM's password:

и я должен ввести пароль. Могу ли я в любом случае ввести что-то вроде kinit test @ REALM password , чтобы оно мне не подсказывало?

Спасибо!

Ответы [ 5 ]

45 голосов
/ 04 декабря 2013

Также вы можете

повторить "пароль" |имя пользователя kinit

13 голосов
/ 27 ноября 2011

Используйте таблицу ключей для этого принципала!

3 голосов
/ 01 февраля 2018

Из ответа фельдверсуха, который был удален за "слишком краткий" (LOL)

Существует 2 популярных клиентских пакета Kerberos: MIT и Heimdal. Heimdal - это то, что поставляется с MacOS, но MIT является эталонной реализацией. На клиентах Heimdal вы можете использовать флаг --password-file:

kinit --password-file=~/mypasswordfile test@REALM

Это позволяет избежать утечки пароля в список процессов, так как он "читает пароль из первой строки имени файла."

Вы можете альтернативно сделать

--password-file=STDIN

и напишите, ex cat password_file | kinit --password-file=STDIN test@REALM

Также избегает утечки пароля в список ps.

В MacOS вы также можете использовать опцию keychain .

Вы можете проверить тип вашего клиента с помощью kinit --version. Если флаг --version не распознан, скорее всего, у вас MIT-клиент; клиенты Heimdal, похоже, слишком распознают флаг и сообщают о версии.

Обратите внимание, что Ubuntu переключил стандартную реализацию Heimdal на реализацию MIT между 14.04 и 16.04. Также, вообще говоря, два пакета конфликтуют друг с другом .

3 голосов
/ 04 декабря 2013

Вы можете зависеть от того, какой именно kinit вы используете, но это очень плохая идея. Любой в этой системе может прочитать таблицу процессов и ARGV для любой команды, и, таким образом, ваш пароль будет открыт.

Большинство реализаций kinit не поддерживают это именно по этой причине.

Не совсем ясно, у вас есть окно Window или Unix?

В любом случае, правильным способом решения этой проблемы является использование таблицы ключей.

Keytabs хранит ключ для принципала (не пароль). В керберосе пароль используется для генерации более случайного ключа, который фактически используется в криптографический обмен. Команда для создания / манипулирования клавиатурными ярлыками обычно

ktutil
2 голосов
/ 24 апреля 2019

Создать таблицу ключей, используя "ktutil"

> ktutil   
ktutil:  addent -password -p username@domain.com -k 1 -e rc4-hmac   
Password for username@domain.com: [enter your password]  
ktutil:  addent -password -p username@domain.com -k 1 -e aes256-cts  
Password for username@domain.com: [enter your password]   
ktutil:  wkt username.keytab   
ktutil:  quit


    # Below steps will will create a keytab for the user, move it into a secure directory, 
and automatically get a ticket when the user logs in with a bash shell

mkdir /home/username/keytabs 
chmod 700 /home/username/keytabs 
mv username.keytab /home/username/keytabs 
chmod 600 /home/username/keytabs/username.keytab 
echo "kinit -kt /home/username/keytabs/username.keytab username@domain.com" >> /home/username/.bash_profile

Команда для передачи keytab и входа в систему

kinit username@domain.com -k -t /path/to/username.keytab

Ссылка hortonworks kb.iu.edu

...