Убедитесь, что пользователь добавил S SH ключ к Git Profil перед фиксацией / отправкой проектов в Bash - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу написать сценарий bash, который проверяет, что пользователь создал свой ключ S SH на сервере gitlab, прежде чем пользователь клонирует или выталкивает какие-либо проекты. Есть ли команда git, которая возвращает истину / ложь (0 или 1), которая говорит «У этого человека есть свои ключи»?

Я пробовал простой ssh gitlab.server.url, и это, кажется, работает, но Я не уверен, является ли это лучшим решением, так как я не хочу проверять, могут ли они s sh на сервер, а вместо этого у их учетной записи gitlab созданы свои ключи S SH, чтобы иметь возможность проекты clone / pu sh. Мне было интересно, если есть указанная c git команда.

1 Ответ

0 голосов
/ 27 февраля 2020

Вы можете сделать запрос cURL на GitLab Users API и получить информацию о ключах S SH для любого пользователя, если вы знаете его userId

curl --header "Private-Token: <your_PAT_here>" -X GET <your_GitLab_URL>/api/v4/users/<userId>/keys

Теоретически он работает также с именем пользователя вместо userId, но я не мог заставить его работать. Чтобы получить userId, я сделал дополнительный вызов API

curl --header "Private-Token: <your_PAT_here>" -X GET <your_GitLab_URL>/api/v4/users?username=<username_here>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...