Basitçe çalışan bir komut dosyası oluşturmak istiyorum ssh-keygen -t rsa. Ama ona 3 defa nasıl geçilir?
Yanıtlar:
Deneyin:
ssh-keygen -t rsa -N "" -f my.key
-N "" boş bir parola kullanmasını söyler (etkileşimli bir komut dosyasındaki girişlerden ikisi ile aynı)
-f my.keyanahtarı içine saklamasını söyler my.key(uygun gördüğünüz şekilde değiştirin).
Her şey, herhangi bir giriş anahtarı sağlamanıza gerek kalmadan çalışır :)
Girişleri etkileşimli bir komut dosyasına göndermek için:
echo -e "\n\n\n" | ssh-keygen -t rsa
ssh-keygendüşmüş gibi görünse de - onu tekrar ekledin mi? {düzenlendi} Ayrıca - betiği birden fazla kez çalıştıramazsınız - mevcut _rsaanahtar dosyanın üzerine yazmak istediğinizi onaylamak için soruları değiştirir (yani evet veya n'nin sağlanması gerekir)
yes ""yerine echo -e "\n\n\n"( yesherhangi bir bağımsız değişken verilmişse [veya varsayılan olarak "y" yi) çıkarmasını öneririm - bir programın isteyebileceği her şeye "evet" yanıtı vermek istediği durumlar için mükemmeldir. yesdaha kısadır ve her ssh-keygenzaman otomatik olarak cevaplanacak bir soru eklemelidir. :)
parolalı bir sürüm:
$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q
Michel Marro ile biraz daha fazlasına ihtiyaç duyması dışında anlaşın : Dosya zaten mevcutsa, üzerine yazılması gerekip gerekmediğini soran etkileşimli olmaya devam edecektir.
Bu sorunun cevabını kullanın .
yes y | ssh-keygen -q -t rsa -N '' >/dev/null
Null'a yeniden yönlendirme, üzerine yazma mesajını susturmak için gereklidir.
echo -e "\n"|ssh-keygen -t rsa -N ""
echo -eşey yayan platformların alt kümesinde ). -essh-keygen
ssh-keygen -N ''gerekirse, otomatik bir kurulum prosedürünün bir parçası olarak üretimden yararlanıyorum ve stdin'i hiç okumuyor, bu yüzden echo( herhangi bir echo varyantın) içine borulanmasına gerek yok . (Kabul edildi, stdin'in /dev/nullüretim kullanım durumumla bağlantılı olduğuna inanıyorum ; bir TTY'ye eklendiğinde farklı davranışlar olabilir, ancak bunun </dev/nullyerine daha iyi cevap 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):
Güvenlik ve performans için ed25519 kullanılması önerilir .
yes "y" | ssh-keygen -o -a 100 -t ed25519 -C "Bla Bla" -f /mypath/bla -N ""
buraya
-o Eski PEM yerine OpenSSH anahtar biçimi (OpenSSH 6.5+ gerekir)
-a DH-GEX adaylarını tararken asallık testi sayısı
-t Anahtar türü (ed25519, RSA, DSA vb.)
-f /mypath/bla Çıktı dosyası yolu ve adı
-N "" Boş parola kullan
ve yes "y"hiçbir etkileşim için.
İki dosya oluşturacak
/mypath/bla
/mypath/bla.pub
nerede bladosya özeldir ve bla.pubherkese açıktır.