Hali!
Uj vagyok meg a bash ban, e most kicsit elakadtam. Olyan scriptet irok, ami fellep szerverre, ssh-n keresztul, namarmost azt kene megoldani, hogy a passwordot amikor bekeri, akkor a script adja meg neki. Here document el probalkoztam, az nem jott be. Kulcs az autentikacioho kizarva, csak jelszo megadasa lehetseges, hogy felengedjen... ezt kene megoldani. Remelem erthetően irtam le, e azert hozok egy peldat.
ssh hurkagyurka @hurkagyar.hu
hurkagyurka @hurkaygar.hu's password:_
Nah es nekem ide kne, hogy a script mondjuk egy valozobol beirja ajelszot!
Elore is koszi
- 1653 megtekintés
Hozzászólások
expect - A program that "talks" to other programs
- A hozzászóláshoz be kell jelentkezni
Ne jelszavas azonosítást használj, hanem privát kulcsost!
- A hozzászóláshoz be kell jelentkezni
Idezet a specifikaciobol: "Kulcs az autentikacioho kizarva"
- A hozzászóláshoz be kell jelentkezni
Elnézést, valahogy átsiklottam felette.
- A hozzászóláshoz be kell jelentkezni
Nah akkor leccsekkolom az ötleteket, hátha jutok valamire.... Kösz
- A hozzászóláshoz be kell jelentkezni
legalább a password filet lefogod titkositani?
- A hozzászóláshoz be kell jelentkezni
Hali, igen az lesz a következő projekt :) de erre is váro ma segitségeteket. Az expect az segitett, igy:
spawn ssh $argv
expect "password:"
expect "*****\r"
interact
Titkositásra ha van valami ötletetek, szivesen várom :)
- A hozzászóláshoz be kell jelentkezni
Ha nincs lehetőség arra, hogy kézzel írjon be jelszót, akkor hiába titkosítaná, mert akkor a titkosítást visszafejtő kulcs kéne, hogy titkosítatlanul legyen. Ha csak a root tudja olvasni a jelszót, az szerintem biztonságos (amennyire lehet), mert ha valaki root jogot szerezne, az úgyis el tudná lopni akár a kézzel beírt jelszavakat is (csak az ssh binárist kéne lecserélnie).
- A hozzászóláshoz be kell jelentkezni
Nah végülis megoldottam a következő módon: ssh van az sshpass -ot használtam, telnetre az expect et. Titkositás meg az lett, hogy csak root-al lehet futtatni, a többinek nincs semmi joga semmihez. Köszi a segitséget.
Jah és ez lett a vége, sshpass-t is száműztem:
#!/usr/bin/expect
set connecttype [lindex $argv 0]
puts "$connecttype"
set password [lindex $argv 3]
set username [lindex $argv 2]
set hostname [lindex $argv 1]
if {"$connecttype" == "telnet"} {
spawn $connecttype $hostname
expect "login:"
send "$username\r"
expect "Password:"
send "$password\r"
interact
} else {
spawn $connecttype $username@$hostname
expect "password:"
send "$password\r"
interact
}
Nah, most még ennyi gondom van, hogy meg lehet azt ugy oldani, hogy a scriptben, ami basht használ valahogy beleirni, hogy ezt használja kapcsolatra, mert mert ugy megy, hogy egy külső scriptet hhive meg a bash, amiben ez a kód van, ugye ShuBang: #!/usr/bin/expect...
- A hozzászóláshoz be kell jelentkezni
for i in `cat 1.txt`; do grep -q ^$i 2.txt || echo $i; done
az 1.txt amit keresel a 2.txt meg a már létező fájlok azt hiszem kell még egy lezáró a grep végére, hogy a 2 és 22 elkülöníthető legyen.
--
Elméletileg nincs különbség elmélet és gyakorlat között. Gyakorlatilag van.
- A hozzászóláshoz be kell jelentkezni
rossz helyre
--
Elméletileg nincs különbség elmélet és gyakorlat között. Gyakorlatilag van.
- A hozzászóláshoz be kell jelentkezni