Vairāk
Kā norādīt privāto SSH atslēgu, ko izmantot, izpildot čaulas komandu Git?
Iespējams, diezgan neparasta situācija, bet es vēlos norādīt privātu SSH atslēgu, ko izmantot, izpildot čaulas (git) komandu no vietējā datora.
Būtībā šādi:
git clone git@github.com:TheUser/TheProject.git -key "/home/christoffer/ssh_keys/theuser"
Vai vēl labāk (Ruby valodā):
with_key("/home/christoffer/ssh_keys/theuser") do
sh("git clone git@github.com:TheUser/TheProject.git")
end
Esmu redzējis piemērus, kā pieslēgties attālam serverim ar Net::SSH, kas izmanto norādīto privāto atslēgu, bet šī ir lokāla komanda. Vai tas ir iespējams?
954
3
Kaut kas tamlīdzīgs būtu jādarbojas (ierosināja orip):
ja jums vairāk patīk apakšapvalki, varat izmēģināt šādu variantu (lai gan tas ir trauslāks):
Git izsauks SSH, kas pēc vides mainīgā atradīs savu aģentu; tam, savukārt, būs ielādēta atslēga.
Alternatīvi, iestatot
HOME
, arī var izdarīt šo triku, ar nosacījumu, ka esat gatavs izveidot direktoriju, kurā kāHOME
ir tikai direktorija.ssh
; tajā var būt vai nu identity.pub, vai konfigurācijas fails, kas nosaka IdentityFile.My_git_ssh_wrapper saturs:
Pēc tam atslēgu var izmantot, veicot:
Varat izmantot GIT_SSH vides mainīgo. Bet jums būs nepieciešams ietvert ssh un opcijas čaulas skriptā.
Skatiet git rokasgrāmatu: Uzziniet, kas ir nepieciešams:
man git
savā komandu čaulā.