Portál AbcLinuxu, 20. dubna 2024 01:46


Dotaz: ssh/scp ve skriptu a dotaz na heslo

9.8.2007 09:49 outsider
ssh/scp ve skriptu a dotaz na heslo
Přečteno: 921×
Odpovědět | Admin
Mam skript, ktery zkopiruje a spusti program na jinem stroji a pak zkopiruje zpet vysledky... Neco jako:
scp -r tests/ "$host":
ssh "$host" tests/run_tests.sh
scp "$host":tests/result.txt results/
ssh "$host" 'rm -rf tests'
Problem je, ze se to 4x pta na heslo :-) Samozrejme muzu pouzit klice bez hesla, ale to zas nechci... Nejlepsi by bylo, kdyby se ssh/scp zeptalo na heslo prave jednou. Jak toho dosahnout?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.8.2007 09:53 sir Turbis | skóre: 19 | Varnsdorf
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Odpovědět | | Sbalit | Link | Blokovat | Admin
použij expect
Don't hurry up, death is faster!
9.8.2007 10:01 phero | skóre: 17 | blog: techblog
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Odpovědět | | Sbalit | Link | Blokovat | Admin
ssh-agent
9.8.2007 10:56 outsider
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Tohle vypada jako nejpouzitelnejsi... Ted jeste nastudovat jak to funguje ... :-)
9.8.2007 10:04 Tomáš | skóre: 31 | blog: Tomik
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle jsem kdysi taky chtel vedet, ale zda se, ze z bezpecnostnich duvodu SSH (SCP) neumoznuje zadavat heslo primo z commandline. Da se napsat skript (napriklad) v Pythonu, protoze je tam knihovna na ssh spojeni a mozna se da najit i nejaky hotovy skript.
vdusek avatar 9.8.2007 10:35 vdusek | skóre: 27
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co se připojovat na servery pomocí SSH klíče?

třeba tento návod
wolf09 avatar 9.8.2007 10:38 wolf09 | skóre: 30
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
No ale klice on pouzit nechce, jak pise v dotazu
Zkusili jste to vypnout a znovu zapnout ?
vdusek avatar 9.8.2007 10:43 vdusek | skóre: 27
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
:-( blbě jsem četl původní dotaz.

Jen nevím, co je na klíčích tak špatného, proč je nechce použít
vdusek avatar 9.8.2007 10:53 vdusek | skóre: 27
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak nápad:

- založit uživatele a vytvořit mu přihlášení pomocí ssh klíče

- požadovanou sekvenci u definovat jako "logon script" při přihlášení přes ssh na tohoto uživatele

Pak se to zeptá jen jednou - na heslo tohoto uživatele
vdusek avatar 9.8.2007 10:54 vdusek | skóre: 27
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
... a v "logon scriptu" nezapomenou na odhlášení
9.8.2007 10:59 outsider
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
No diky, ale takove slozite konstrukce vymyslet nemusis :-) Ja nejsem admin tech serveru a nemam pravo zakladat tam uzivatele ani nic takovyho...
9.8.2007 12:00 phero | skóre: 17 | blog: techblog
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Nebyl by přece jen lepsi ten ssh-agent ? :-D
9.8.2007 12:33 ivan | skóre: 17 | blog: ivan
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jedina moznost je pouziti ssh-agenta nebo RSA klic bez hesla. Ssh je chytry a umoznuje presmerovavani vstupu a vystupu. Aby to fungovalo, tak ssh nevypisuje vyzvu pro heslo na standartni vystup a na "ridici terminal". Ridici terminal je filehandle, ktery ulozen v kontextu procesu v kernelu. Tento filehandle se da ziskat pres nejaky ioctl syscall.
9.8.2007 12:41 outsider
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Diky, nastuduju toho agenta. Klice bez passphrase pouzivam ted, ale to mi nepripada uplne ... hmmmmm ... bezpecne... :-)
9.8.2007 14:37 sir Turbis | skóre: 19 | Varnsdorf
Rozbalit Rozbalit vše Re: ssh/scp ve skriptu a dotaz na heslo
Odpovědět | | Sbalit | Link | Blokovat | Admin
No nevím,ale v expectu by to bylo tahle:
#!/usr/bin/expect -f

spawn /root/bin/htpasswd -m .htpasswd [lindex $argv 0]
set password [lindex $argv 1]

expect "New password:"
send "$password\r"
expect "Re-type new password:"
send "$password\r"
expect eof 
Don't hurry up, death is faster!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.