У меня здесь целая куча ключей SSH, публичных и частных. Как узнать, для каких закрытых ключей требуется пароль, а для каких - нет?
Предполагая, что вы говорите о ключах формата OpenSSH:
$ grep ENCRYPTED *id*
test2.id:Proc-Type: 4,ENCRYPTED
id_dsa:Proc-Type: 4,ENCRYPTED
Это проще, чем можно было ожидать :)
$ head test.id
-----BEGIN RSA PRIVATE KEY-----
MIIEoAIBAAKCAQEAogi+ ...
$ head test2.id
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
...
Зашифрованные приватные ключи будут содержать строку:
Proc-Type: 4,ENCRYPTED