Jawaban:
Untuk menghasilkan keypair SSH tanpa diminta frasa sandi, Anda dapat melakukan hal berikut:
$ ssh-keygen -f id_rsa -t rsa -N ''
ssh-keygen: option requires an argument -- N
" :(
dzdo
perintah di depannya, jadi saya harus menulis:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''
adalah signifikan. Ketika saya menambahkan ruang itu berhasil!
Jika Anda perlu melakukan ini dari PowerShell di windows gunakan:
ssh-keygen -f $Name -t rsa -N '""'
perhatikan Anda juga harus memastikan direktori git bin ada di jalur Anda:
$sshPath = "<path>\git\bin\"
$env:path += ";$sshPath"
Kemudian untuk menggunakannya di PoshGit hanya saja:
Add-SshKey "<path>\.shh\KeyFilename"
git\usr\bin
adalah dir yang benar.
ssh-keygen -f $Name -t rsq -N '""'
.
'""'
'""'
adalah satu-satunya varian yang bekerja untuk saya.
Hanya koreksi untuk menjawab 2 ... Saya menemukan pada sistem OL dan RHEL saya nama file harus id_rsa bukan id.rsa.
Jadi pada sistem OL atau RHEL perintahnya adalah:
$ ssh-keygen -f id_rsa -t rsa -N ''
id_rsa
adalah nama file default untuk kunci RSA, jadi jika Anda ingin tetap menggunakan default, Anda tidak dipaksa untuk secara eksplisit menggunakan -f
opsi.
-f
opsi adalah agar Anda dapat menjalankan ini dalam skrip. Anda bisa menegaskan kembali default untuk menonaktifkan prompt berikutnya.
Bagaimana dengan :
ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ''
Sebagaimana dicatat dalam 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.
(yaitu dengan openssh-client
paket di Debian 9.4 peregangan: OpenSSH_6.7p1 Debian-5+deb8u4
)
Saya perlu mengotomatiskan dalam bash script perintah ssh-keygen dan jawaban akhir yang bekerja dengan baik untuk saya:
echo -e "\n" | ssh-keygen -N "" &> /dev/null
Perintah echo dengan -e mengartikan "\ n" sebagai kunci Enter, tetapi tidak bekerja dengan frasa sandi. Kemudian menggunakan opsi -N "" (kata sandi kosong) kata sandi akan kosong dan tidak akan meminta apa pun. &> / dev / null akan mengirim 'stdout' dan 'stderr' ke / dev / null sehingga tidak ada yang dicetak melalui layar.
$ printf '\n' | ssh-keygen -N ''