Как определить, есть ли у открытого ключа SSH ключевая фраза

13

Вероятно, это вопрос нуба, но как я могу определить, есть ли у открытого ключа SSH, который мне кто-то дает, или нет?

У нас есть ситуация, когда я не генерирую SSH-ключи для пользователей, но я хочу убедиться, что каждый SSH-ключ, который я помещаю на сервер, имеет парольную фразу, но я чувствую, что парольная фраза является лишь частью закрытого ключа.

Благодарность!

Петр Санкаускас
источник

Ответы:

27

Это не то, что вы можете определить из публичной половины ключа. Даже если бы вы могли определить это, что мешает пользователю впоследствии удалить его?

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

Джеймс Ф
источник
7

Вы не можете сказать, есть ли у закрытого ключа пароль или нет.

Джеймс
источник
3
Точнее, у открытых ключей нет парольных фраз. Только закрытые ключи.
Суоган
-2

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

Если у вас есть политика в отношении требующих парольных фраз, вы можете также захотеть установить политику в отношении пересылки ssh-agent и agent, поскольку в ней хранится сокет, используемый для доступа к процессу ssh-agent, в / tmp без особой защиты, кроме разрешений для файлов unix для защиты. Это.

Джеймс
источник
Я не верю, что ключ хранится в незашифрованном виде в / tmp. Я считаю, что он хранится в памяти на исходном компьютере, на котором пользователь вошел в фазу.
Джеймс
Извините, вы правы, незашифрованный ключ не хранится в / tmp. Сокет ssh-agent хранится в / tmp, и любой, у кого есть права доступа unix для доступа к указанному сокету, может использовать ключи, которые есть у ssh-agent. Все еще довольно серьезная проблема безопасности.
Джеймс