Додайте користувача без пароля, але з SSH та відкритим ключем


33

Я хочу додати користувача до Red Hat Linux, який не використовуватиме пароль для входу, а натомість використовувати відкритий ключ для ssh. Це було б у командному рядку.


useradd --password-disabled та adduser --password disabled. Я розглянув варіанти обох і не бачу відключення пароля як опції для будь-якого.
користувач119776

Чи знаєте ви, як налаштувати вхід у ключ ssh? Я думаю, що аккаунт просто не повинен бути заблокований, а це означає, що деякий пароль активний. Це може бути довгий пароль, якого ніхто насправді не знає.
Міхей Йодер

У мене є ключ і знаю, що мені потрібно створити папку під каталогом користувача і вставити туди загальну частину. Я можу спробувати так, але подумав, що мені потрібно відключити пароль користувача.
користувач119776

Замість того, щоб зробити ще одну публікацію, в якій показано, як додати користувача, я згоден з Ламбертом. Вам потрібно зосередитись саме на частині цього завдання, з яким ви стикаєтесь. Якщо ви не знаєте, як навіть додати користувача, вам слід почати з малого і працювати вперед. Я вважаю, що вам потрібно лише створити користувача, не встановлювати жодного пароля та вводити його ключ у /home/username/.ssh/authorized_keys.
Баазігар

Відповіді:


37

Почніть зі створення користувача:

useradd -m -d /home/username -s /bin/bash username

Створіть із клієнта пару ключів, до якої ви будете використовувати ssh:

ssh-keygen -t dsa

Скопіюйте відкритий ключ /home/username/.ssh/id_dsa.pubна хост RedHat/home/username/.ssh/authorized_keys

Встановіть правильні дозволи для файлів на хості RedHat:

chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

Переконайтеся, що автентифікація відкритого ключа включена на хості RedHat:

grep  PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes

Якщо ні, змініть цю директиву на так і перезапустіть sshdслужбу на хості RedHat.

Від клієнта запустіть sshз'єднання:

ssh username@redhathost

Він повинен автоматично шукати ключ id_dsaу ~/.ssh/. Ви також можете вказати файл посвідчення, використовуючи:

ssh -i ~/.ssh/id_dsa username@redhathost

3
Насправді я не забув про блокування паролів. Оскільки я просто не встановив його, пароль новоствореного користувача автоматично блокується.
Ламберт

3
використовувати RSA замість DSA
sg

Ви розумієте, що команда "ssh-keygen -t dsa" створить ключі для поточного користувача, вона може замінити власні ключі
yarun може

15

У Ubuntu ви можете додати користувача за допомогою:

adduser --disabled-password <username>

Потім створіть .ssh/authorized_keysфайл у своєму домашньому каталозі своїм відкритим ключем.


7

Ви можете використовувати:

usermod --lock <username>

На чоловіковій сторінці:

Заблокуйте пароль користувача. Це ставить "!" перед зашифрованим паролем, фактично відключивши пароль. Ви не можете використовувати цю опцію з -p або -U. Примітка. Якщо ви хочете заблокувати обліковий запис (не лише доступ із паролем), вам також слід встановити EXPIRE_DATE на 1.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.