Я хочу убрать процесс ручного копирования открытых ключей на каждый из серверов для предоставления доступа.
Основная проблема, которую я пытаюсь решить, заключается в следующем:
Я изучил:
SSH-аутентификацию на основе аутентификатора Google
Я видел это на серверах Azure: для сервера Azure, если включен вход на основе Azure, тогда всякий раз, когда пользователь пытается войти на сервер (после выполнения команды ssh в терминале), открывается браузер. и пользователю предлагается ввести адрес электронной почты и пароль, и при успешном входе в систему ему предоставляется токен. Затем пользователь должен ввести токен в терминал, чтобы получить доступ к серверу.
Создание пользователя Linux с паролем, а затем совместное использование имени пользователя и пароля для всей команды, чтобы они могли его использовать. Затем он может быть передан на Lastpass с именем пользователя и IP. Этот подход не помогает с аудитом, но он может работать, и я оставил его в крайнем случае.
Спасибо!
Привет, если я понял вашу проблему, то думаю, что ее можно решить, создав простой скрипт с помощью команды OpenSSH secure file copy scp
.
Если всей команде нужны одинаковые права доступа к одним и тем же серверам, то моя рекомендация такова:
Создайте скрипт для автоматического копирования обновленных authorized_keys с вашего компьютера на ваши серверы:
scp
требует прав доступа к серверам для работы, поэтому скрипт должен запускаться с вашего или любого другого компьютера менеджера. Найдите скрипт в /usr/local/sbin/.
на вашей машине, для возможности запуска скрипта из любого каталога на вашем компьютере.
Дайте скрипту разрешение на выполнение командой chmod a+x /usr/local/sbin/scriptName
.
#/bin/bash!
read -p "Please Enter Path:" -r r1
scp $r1 username@serverip:/home/username/.ssh/authorized_keys
#scp $r1 username@serverip:/home/username/.ssh/authorized_keys
#scp $r1 username@serverip:/home/username/.ssh/authorized_keys
#add more servers if needed....
#you could also use a switch to use which servers are relavent for the new user.
Обратите внимание, что если вы запускаете вашу службу ssh на других портах из соображений безопасности или по другим причинам, вам следует выполнить команду scp
с опцией -P
.
scp -P sshPort $r1 username@serverip:/home/username/.ssh/authorized_keys
.
Пример скрипта, запущенного на моем собственном сервере:
Надеюсь, это поможет вам.
Пожалуйста, комментируйте, если что-то непонятно или нужна еще какая-либо помощь в этом деле.