Как создать пользователя Linux без пароля, но в состоянии установить его?

8

У меня есть имя пользователя и ключ SSH для (гипотетического) парня, и мне нужно предоставить ему доступ администратора к серверу Linux (Ubuntu).

Я хочу, чтобы он мог войти через SSH, а затем сам установить свой пароль через безопасное соединение, вместо того, чтобы передавать пароль.

Я знаю, как сделать срок действия пароля и заставить его сбросить его при первом входе в систему. Но это не сработает, если у него уже есть какой-нибудь пароль, который я должен сказать ему.

Я думал о том, чтобы сделать пароль пустым - SSH не разрешит вход в систему, но тогда любой сможет suвойти в систему.

У меня вопрос, есть ли лучшая практика для создания учетных записей таким способом? Или установка пароля по умолчанию неизбежна?

Леонид Шевцов
источник

Ответы:

7

У вас есть его открытый ключ SSH? Поместите это в .ssh/authorized_keysего домашний каталог. Как только вы это сделаете (и права доступа достаточно ограничены - SSH суетлив в этом), он сможет войти в систему без необходимости ввода пароля вообще ... и он никогда не понадобится.

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

Ladadadada
источник
1
Ему понадобится пароль sudo, не так ли?
Леонид Шевцов
1
Вы можете разрешить sudo без пароля.
MDMarra
1
С линией , как USERNAME = NOPASSWD: /usr/local/bin/pwreset.shв /etc/sudoersи сценарий pwreset.shвыполняется командой /usr/bin/passwd USERNAMEон не будет нужен пароль для (пере) настройки его собственный пароль.
Ансгар Вичерс
0

Просто поместите текстовый файл с паролем внутри, в котором пользователи живут с правами 600. Пользователь входит в систему с ключом, меняет пароль и удаляет файл. С помощью скрипта с установленным битом suid вы можете даже создать что-то вроде passwd <textfile, не предоставляя пользователю права на чтение файла (права будут 060 с group = root)

Erwin
источник
-2

Установка пароля по умолчанию неизбежна. Моя процедура будет:

1) создать безопасный, случайный пароль (различный для каждого пользователя). Я использую генератор паролей в настройках учетной записи OSX, но вы можете использовать веб-сайт, такой как http://strongpasswordgenerator.com

2) Введите пароль для них надежно, например, лично или через http://www.privnote.com

3) принудительно выполнить сброс при первом входе в систему, поскольку вы уже знаете, как это сделать

Оливер Колл
источник
Никогда , ни при каких обстоятельствах не используйте какой- либо онлайн генератор паролей (или -чекер в этом отношении).
Ансгар Вичерс
@AnsgarWiechers, можете ли вы поддержать это утверждение хорошим аргументом?
Zoredache
Слишком много, что вы не можете контролировать. Даже если в браузере действительно работает код JavaScript: проверяете ли вы скрипт каждый раз перед его использованием, чтобы убедиться, что он все равно никуда не отправляет пароль?
Ансгар Вичерс
Вот почему вы говорите ему создать несколько сотен паролей и выбрать случайный.
Грант
@Grant: Даже если вы выбираете один из нескольких сот паролей, злоумышленник все равно будет до нескольких сот догадок, которые далеко слишком легко перебор. Существует достаточно вариантов, чтобы генерировать случайные пароли локально без какого-либо доступа к сети. Если вы заботитесь о безопасности вообще: используйте один из них.
Ансгар Вичерс,