Chciałbym stworzyć zautomatyzowany skrypt, który wywołuje ssh-keygen
i tworzy parę kluczy publicznych / prywatnych, których będę używać później. Zasadniczo wszystko działa dobrze z ...
ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q
... oprócz tego, że prosi mnie o hasło, które szyfruje klucze. To utrudnia automatyzację.
Mogę podać hasło za pomocą argumentu wiersza poleceń -N thepassphrase
, aby nie wyświetlać monitu. Nadal nie chcę mieć kluczy - dodatkowo zabezpieczonych przez szyfrowanie - i chcę, aby klucze były jawnym tekstem.
Jakie jest (najlepsze) rozwiązanie tego problemu?
-q
Opcja, która podobno oznacza „quiet / silent” ma wciąż nie uniknąć interakcji hasłem. Nie znalazłem też czegoś takiego
ssh-keygen ...... -q --no-passphrase
Proszę, nie zaczynajcie wygłaszać kazań i wykładów na temat zalet i wad „brakującego hasła”, jestem tego świadomy. W interaktywnej formie (nie jako skrypt) użytkownik może po prostu dwukrotnie nacisnąć [ENTER], a klucz zostanie zapisany jako zwykły tekst. Oto, co chcę osiągnąć w skrypcie takim jak ten:
#! / bin / bash polecenie 1 polecenie 2 var = $ (polecenie3) # nie powinno to zatrzymać skryptu i poprosić o hasło ssh-kegen -b 2048 -t rsa -f / tmp / sshkey -q
/tmp/sshkey
już istnieje, pojawia się monit o zastąpienie. Można temu zapobiec poprzez przekierowanie / zamknięcie standardowego wejścia - np. Poprzez dodanie0>&-
.