Yanıtlar:
Parola sorulmadan bir SSH anahtar çifti oluşturmak için aşağıdakileri yapabilirsiniz:
$ ssh-keygen -f id_rsa -t rsa -N ''
ssh-keygen: option requires an argument -- N
" :(
dzdo
önünde komut kullandığım için, bu yüzden yazmak zorunda kaldım:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''
önemli olduğu anlaşılıyor . Alanı eklediğimde başarılı oldu!
Bunu Windows'ta PowerShell'den yapmanız gerekiyorsa:
ssh-keygen -f $Name -t rsa -N '""'
git bin dizininin yolunuzda olduğundan emin olmanız gerekir:
$sshPath = "<path>\git\bin\"
$env:path += ";$sshPath"
Sonra PoshGit içinde kullanmak için sadece:
Add-SshKey "<path>\.shh\KeyFilename"
git\usr\bin
doğru dir.
ssh-keygen -f $Name -t rsq -N '""'
.
'""'
'""'
benim için çalışan tek varyant.
Sadece cevap 2 için bir düzeltme ... OL ve RHEL sistemimde dosya adının id.rsa değil id_rsa olması gerektiğini öğrendim.
Yani bir OL veya RHEL sisteminde komut şöyle olacaktır:
$ ssh-keygen -f id_rsa -t rsa -N ''
id_rsa
bir RSA anahtarı için varsayılan dosya adı olduğundan, varsayılana sadık kalmak istiyorsanız, -f
seçeneği açıkça kullanmak zorunda değilsiniz .
-f
seçeneği belirtmek için bir nedeni , bunu bir komut dosyasında yürütmek olmasıdır. Sonraki istemi devre dışı bırakmak için varsayılanı yeniden doğrulayabilirsiniz.
Ne dersin :
ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ''
Belirtildiği gibi man ssh-keygen
:
SYNOPSIS
ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] [-N new_passphrase] [-C comment] [-f output_keyfile]
(...)
-q Silence ssh-keygen.
(Bu ile openssh-client
Debian 9.4 streç paket: OpenSSH_6.7p1 Debian-5+deb8u4
)
Bir bash betiğinde ssh-keygen komutunu ve benim için iyi sonuç veren son cevabı otomatikleştirmem gerekiyordu:
echo -e "\n" | ssh-keygen -N "" &> /dev/null
-E ile yapılan echo komutu "\ n" ifadesini Enter tuşu olarak yorumlar, ancak parola ile çalışmaz. Sonra -N "" (boş parola) seçeneğini kullanarak parola boş kalacak ve hiçbir şey istemeyecektir. &> / dev / null, 'stdout' ve 'stderr' öğelerini / dev / null öğesine gönderir, böylece ekran üzerinden hiçbir şey yazdırılmaz.
$ printf '\n' | ssh-keygen -N ''