Risposte:
Per generare una coppia di chiavi SSH senza che venga richiesta una passphrase, è possibile effettuare le seguenti operazioni:
$ ssh-keygen -f id_rsa -t rsa -N ''
ssh-keygen: option requires an argument -- N
" :(
dzdo
comando di fronte, quindi ho dovuto scrivere:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''
sia significativo. Quando ho aggiunto lo spazio è riuscito!
Se è necessario eseguire questa operazione da PowerShell in Windows, utilizzare:
ssh-keygen -f $Name -t rsa -N '""'
nota anche che devi assicurarti che la directory git bin sia nel tuo percorso:
$sshPath = "<path>\git\bin\"
$env:path += ";$sshPath"
Quindi per usarlo in PoshGit è solo:
Add-SshKey "<path>\.shh\KeyFilename"
git\usr\bin
è la directory corretta.
ssh-keygen -f $Name -t rsq -N '""'
.
'""'
'""'
è l'unica variante che ha funzionato per me.
Solo una correzione per rispondere 2 ... Ho scoperto sul mio sistema OL e RHEL il nome del file dovrebbe essere id_rsa non id.rsa.
Quindi su un sistema OL o RHEL il comando sarebbe:
$ ssh-keygen -f id_rsa -t rsa -N ''
id_rsa
è il nome del file predefinito per una chiave RSA, quindi se si desidera attenersi al valore predefinito, non si è costretti a utilizzare esplicitamente l' -f
opzione.
-f
opzione è che puoi eseguirlo in uno script. Puoi semplicemente riaffermare il valore predefinito per disabilitare il prompt successivo.
Che dire :
ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ''
Come notato in 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.
(cioè con openssh-client
pacchetto Debian 9.4 stirata: OpenSSH_6.7p1 Debian-5+deb8u4
)
Avevo bisogno di automatizzare in uno script bash il comando ssh-keygen e la risposta finale che funziona bene per me:
echo -e "\n" | ssh-keygen -N "" &> /dev/null
Il comando echo con -e interpreta "\ n" come un tasto Invio, ma non funziona con la passphrase. Quindi usando l'opzione -N "" (passphrase vuota) la password sarà vuota e non chiederà nulla. &> / dev / null invierà 'stdout' e 'stderr' a / dev / null in modo che nulla venga stampato sul display.
$ printf '\n' | ssh-keygen -N ''