Puncte:3

De ce scriptul executabil se comportă diferit de când comenzile sale sunt executate manual?

drapel tr

Încerc să adaug o cheie privată la sshagent-ul meu. Rularea comenzilor

$ eval „$(ssh-agent -s)”
$ ssh-add ~/.ssh/id_rsa_personal

face treaba foarte bine, așa că atunci când alerg ssh-add -l, văd că a fost adăugată cheia. Acesta este, de asemenea, cazul chiar și fără a rula eval comandă deloc (ceea ce poate ridica întrebarea de ce ar trebui să o rulez). Cu toate acestea, dacă în schimb creez un fișier executabil add_key.sh (folosind shebang și chmod +x) și adăugați acele comenzi exacte la el și apoi rulați-l, ssh-add -l nu afișează cheia și în schimb arată „Agentul nu are identitate”.

Dacă comentez eval comandă în script și rulați-o, nu există nicio problemă și adaugă corect cheia la agent. Ce cauzează despre scenariul meu ssh-add să nu adaug cheia și de ce nu este o problemă dacă comentez eval comanda din script sau pur și simplu rulați comenzile manual?

waltinator avatar
drapel it
Încercați `echo "$(ssh-agent -s)";echo $SHELL`. Eliberați spațiul cheie înainte de testare?
Puncte:5
drapel hr

ssh-agent -s începe a nou agent; cand tu eval ieșirea acestuia, modificați mediul shell astfel încât următoarele ssh-add adaugă identitatea la acea agent.

Dacă faci asta într-un script, atunci când revii în mediul părinte noile valori ale SSH_AUTH_SOCK / SSH_AGENT_PID sunt pierdute, deci (deși noul agent încă rulează), ssh-add -l nu se poate conecta la el.

Când doar fugi ssh-agent -s fără eval, pornește un agent nou, dar doar imprimă noul mediu la ieșire standard, deci ssh-add adaugă noua identitate la orice agent rula deja în mediul părinte.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.