Chciałbym stworzyć skrypt, który po prostu działa ssh-keygen -t rsa
. Ale jak przejść do niego 3 razy wejść?
102
Próbować:
ssh-keygen -t rsa -N "" -f my.key
-N ""
każe mu użyć pustego hasła (takiego samego jak dwa wpisy w interaktywnym skrypcie)
-f my.key
każe mu przechowywać klucz w my.key
(zmień według własnego uznania).
Całość działa bez konieczności podawania jakichkolwiek klawiszy enter :)
Aby wysłać wpisy do interaktywnego skryptu:
echo -e "\n\n\n" | ssh-keygen -t rsa
ssh-keygen
został upuszczony kreska - czy dodałeś to z powrotem? {edytowano} Ponadto - nie możesz uruchomić skryptu więcej niż jeden raz - zmienia pytania, aby potwierdzić, że chcesz nadpisać istniejący_rsa
plik klucza (więc trzeba podać ay lub n)yes ""
zamiastecho -e "\n\n\n"
(yes
wyświetla dowolny podany argument [lub domyślnie "y"] w nieskończoność - idealne w sytuacjach, w których chce się po prostu udzielić odpowiedzi "tak" na cokolwiek program może poprosić).yes
jest krótszy i powinienssh-keygen
zawsze dodać pytanie, na które również zostanie automatycznie udzielona odpowiedź. :)wersja z hasłem to:
Źródło to http://linux.die.net/man/1/ssh-keygen
źródło
Zgadzam się z Michelem Marro, tyle że potrzeba trochę więcej: jeśli plik już istnieje, nadal będzie interaktywny z pytaniem, czy musi go nadpisać.
Skorzystaj z odpowiedzi na to pytanie .
Przekierowanie do wartości null jest konieczne, aby wyciszyć wiadomość zastępującą.
źródło
źródło
echo -e
emituje coś innego niż-e
w ogóle, co niessh-keygen
jest wszędzie dostępne).ssh-keygen -N ''
jako części zautomatyzowanej procedury instalacji i nie czyta on w ogóle stdin, więc nie ma potrzeby podłączania do niegoecho
( żadnegoecho
wariantu). (To prawda, uważam, że stdin jest powiązany z/dev/null
moim przypadkiem użycia w produkcji; może być inne zachowanie, gdy jest ono dołączone do urządzenia TTY, ale lepszą odpowiedzią jest</dev/null
raczej niżecho ... |
)$ ssh-keygen -t rsa -N '' Generating public/private rsa key pair. Enter file in which to save the key (/home/dlyons/.ssh/id_rsa):
Zalecane jest używanie ed25519 ze względu na bezpieczeństwo i wydajność.
tutaj
-o
Format klucza OpenSSH zamiast starszego PEM (wymaga OpenSSH 6.5+)-a
Liczba testów pierwszości podczas badań przesiewowych kandydatów DH-GEX-t
Typ klucza (ed25519, RSA, DSA itp.)-f /mypath/bla
Ścieżka i nazwa pliku wyjściowego-N ""
Użyj pustego hasłai
yes "y"
bez interakcji.Wygeneruje dwa pliki
gdzie
bla
plik jest prywatny ibla.pub
publiczny.źródło