scp file scriptben, automatikus jelszó beírással

Sziasztok.

Egy unix szkriptben szeretnék használni scp-t, de úgy, hogy a jelszót is a szkript írja be.
Mivel a szerver és a felhasználónév / jelszó páros is változik, a kulcsos auth kiesik :(

Hozzászólások

Talán én nem értem jól a problémát, de két dolgot tudok elképzelni:

a) akárki akármi felhasználónevet, jelszót megadhat = a script nem tudja mit kell beírnia, és a scriptet futtató embertől kell bekérni az adatokat.

b) van egy lista, hogy melyik gépeket, milyen usernévvel kell elérnie. Akkor meg nyugodtan generálhatsz minden kombinációhoz külön ssh kulcsot, a script meg kiválasztja, hogy melyik kulcsot kell használnia.


~/src/tcl$ cat ./simple_scp.tcl
#!/usr/bin/expect -f
# -*-tcl-*-

set password [lindex $argv 0] ;# first script argument: password

set argv [lrange $argv 1 end] ;# delete the scp-nonstandard password argument

set timeout -1                ;# wait until done
eval spawn scp $argv          ;# trick to pass in command-line args to spawn
expect "assword: $"           ;# wait for 'Password: ' or 'password: '
send "$password\r"            ;# send it
expect "\\$ $"                ;# wait for regular shell prompt '$ ' before quitting
                              ;# probably a better way using 'wait'

~/src/tcl$ ./simple_scp.tcl mypassword ./file.toupload
myuserid@targethost:/home/myuserid/
spawn scp ./file.toupload myuserid@targethost:/home/myuserid/
Password:
file.toupload
100%   30     0.0KB/s   00:00
~/src/tcl$

Megoldódott azóta a probléma valahogyan? Mi lett a megoldás?

Szerintem ez nagyon rossz ötlet, de ha mindenképpen ezt akarod, akkor a putty-féle pscp kliensnek meg lehet adni parancssori argumentumban is a jelszót.
Debian/Ubuntu alatt a putty-tools csomagban van.

Én a kulcs alpú azonosítást erőltetném azonban inkább...