Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Openelec přihlášení přes SSH  (Přečteno 4259 krát)

Pavel D

  • Návštěvník
  • Příspěvků: 32
Openelec přihlášení přes SSH
« kdy: 26 Srpna 2014, 11:23:49 »
Zdravím a předem děkuji za pomoc.
Při přihlášení do Openelec v terminálu zadám
ssh root@10.0.0.103 a jsem vyzván k zadání hesla ( heslo je openelec ).
Napsal jsem si jednoduchý skript, který přesouvá soubory v MMC Openelec do jiné složky a přejmenuje jejich příponu, aby šly přehrávat v naší televizi přes DLNA. S původní příponou .mkv nejdou, s .avi bez problémů ano.
Potřeboval bych to přihlášení dostat do skriptu, abych tento skript mohl spustit spouštěčem ( takto pouštím svoje skripty z plochy ).
Hledal jsem na google, ale nepovedlo se mi to zprovoznit to automatické přihlášení.
Pro ilustraci můj skript:

#!/bin/bash

ls -t -r "/media/Data/Filmy" > "/storage/screenshots/Zaznamy_Openelec.txt"
Prvnifilm=$(head -n1 '/storage/screenshots/Zaznamy_Openelec.txt')
mv "/media/Data/Filmy/$Prvnifilm" "/media/Data/Zaznamy/$Prvnifilm.avi"

exit 0

Tento můj dotaz se asi týká obecně Linuxu, že je to Openelec ( XBMC ) je asi jedno, linuxové příkazy tam jdou.
Díky.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Openelec přihlášení přes SSH
« Odpověď #1 kdy: 26 Srpna 2014, 11:28:24 »
zagugli `linux expect ssh login' ..

muj example:

Kód: [Vybrat]
#!/usr/bin/expect -f

# for ios 12.x and probably +/- higher/lower
# usage: ssh.expect [user@]host path_to_file_containing_password some_ios_command
#
# TODO: learn howto to do that Tcl checks, if the pwd file has 0600 perms and
#       owned by a EUID
#


set timeout 30

set fd [open [ lindex $argv 1]]
set _pwd [read $fd]
close $fd

spawn -noecho $env(SHELL)
spawn -noecho ssh [lindex $argv 0] "[lindex $argv 2]"

log_user 0

expect "yes/no" {
        send "yes\r"
        expect "*?assword" { send "[lindex $_pwd]\r" }
        } "*?assword" { send "[lindex $_pwd]\r" }

log_user 1
expect eof
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Pavel D

  • Návštěvník
  • Příspěvků: 32
Re:Openelec přihlášení přes SSH
« Odpověď #2 kdy: 26 Srpna 2014, 14:02:53 »
Děkuju za odpověď.
Snažil jsem se to pochopit, ale mohu překládat jen přes google překladač.
Jak jsem pochopil, heslo nemusí být v samostatném souboru - nepotřebuji žádné zabezpečení, klidně ať se někdo podívá na včerejší Události nebo Ženu za pultem co je nahrané v PC.

Pokud jsem to správně pochopil mělo by to vypadat takto

!/usr/bin/expect -f

spawn ssh root@10.0.0.103
set timeout 30
expect "password: openelec"
expect "root"
set timeout 30
"/storage/screenshots/Prejmenovani.sh"

Bohužel to teď nemohu vyzkoušet, jestli je tam nějaká chyba, napiš prosím. Díky.



ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Openelec přihlášení přes SSH
« Odpověď #3 kdy: 26 Srpna 2014, 14:54:04 »
to bych nerekl, ze bude fungovat :) .. za budes mit cas, tak to vyzkousej .. muzes pouzit muj expect script, ten funguje urcite
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Pavel D

  • Návštěvník
  • Příspěvků: 32
Re:Openelec přihlášení přes SSH
« Odpověď #4 kdy: 26 Srpna 2014, 18:09:52 »
Díky za tvůj script.
Já se snažím to zprovoznit, ale nějak se mi to nedaří, jsem úplný začátečník. Nevím kam mám napsat tu IP adresu Openelec - tj.10.0.0.103 - co a čím nahradit.
uživatel je root
heslo je openelec
Do terminálu vždy píšu    ssh root@10.0.0.103

Snažím se to přeložit přes google z cizích stránek.
Když bys mi mohl v tomhle poradit.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Openelec přihlášení přes SSH
« Odpověď #5 kdy: 26 Srpna 2014, 18:15:12 »
rekneme, ze se muj skript jmenuje ssh.expect, example:

Kód: [Vybrat]
# ./ssh.expect root@10.0.255.203 ./password "cat /etc/redhat-release"

CentOS release 6.5 (Final)

tady jsem pouzil svuj skript a heslo na roota jsem si precetl ze souboru "password" v soucasnem adresari a provedl jsem na pocitaci 10.0.255.203 prikaz v uvozovkach ..


je mozne, ze bude potreba ten skript trosku upravit podle toho koncoveho zarizeni .. viz to

expect "yes/no" ### eg kdyz se to pta na klic, ze chce importovat a potom ocekavam, ze na dalsim radku bude string s "*?assword" .. ono to ma syntaxi ze to ceka:

neco { neco_akce } neco_jineho {neco_jineho_akce }

samozrejme to muzes vnorovat
« Poslední změna: 26 Srpna 2014, 18:21:35 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Pavel D

  • Návštěvník
  • Příspěvků: 32
Re:Openelec přihlášení přes SSH
« Odpověď #6 kdy: 26 Srpna 2014, 18:40:33 »
Takže jestli jsem to správně pochopil:
- zkopíroval jsem tvůj script ( z dopoledne ) tak jak je a v Geany ho uložil jako ssh.expect do adresáře /. Nastavil jsem mu vlastnosti jako spouštěcí - tj. exec.
- vytvořil jsem v Geany soubor password, napsal do něj jenom openelec a uložil do stejného adresáře /.
- vytvořil jsem script s názvem třeba Prihlaseni.sh a zkopíroval do něj
# ./ssh.expect root@10.0.0103 ./password "ls /storage"
Adresu jsem zadal svojí 10.0.0.103 a mezi uvozovkami příkaz,co se má vykonat, třeba výpis složky nebo třeba můj původní script s přesunem a přejmenováním přípon.

Chápu to správně ?
Jestli ne tak se omlouvám.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Openelec přihlášení přes SSH
« Odpověď #7 kdy: 26 Srpna 2014, 19:22:10 »
zda se, ze to chapes dobre .. nicmene nechapu proc to cele davas do dalsiho skriptu
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Pavel D

  • Návštěvník
  • Příspěvků: 32
Re:Openelec přihlášení přes SSH
« Odpověď #8 kdy: 27 Srpna 2014, 07:49:17 »
Díky za pomoc, ale tohle jsem přestřelil. Myslel jsem, že to bude něco podobného jako když připojuji adresář ze vzdáleného PC, např.
mount‭ ‬-t cifs‭ “‬//10.0.0.2/Samba_Mironet‭”  ‬/mnt/sda2/SMB‭ ‬-o user=Pavel,password=Pavel

Tak se budu připojovat ručně, naštěstí si příkaz "ssh root@10.0.0.103" pamatuje šipka nahoru z bash_history. Tak už potom napíšu jen openelec.
Ještě že se mi podařilo načítat ty názvy do proměnné, vyťukávat je ručně by bylo k zbláznění. Takhle je to po přihlášení na jeden klik.

Tohle bez základních znalostí opravdu nejde.
Ještě jednou díky.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Openelec přihlášení přes SSH
« Odpověď #9 kdy: 27 Srpna 2014, 12:41:13 »
coze ? nechapu
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Pavel D

  • Návštěvník
  • Příspěvků: 32
Re:Openelec přihlášení přes SSH
« Odpověď #10 kdy: 28 Srpna 2014, 12:48:12 »
Myslel jsem to tak, že nejsem vybavený téměř žádnými znalostmi.
Předpokládal jsem, že to přihlášení bude "na jeden řádek" něco jako jsem dal výše příklad u Samby
mount -t cifs   atd...................

Teď jsem si tu změnu přípon opsal pro počítač s Windows
NET USE X: \\10.0.0.103\Filmy
REN X:\ *mkv *.avi
NET USE X: /delete
Je to opravdu jen jedno kliknutí na soubor Prejmenovani.bat, funguje perfektně.






ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Openelec přihlášení přes SSH
« Odpověď #11 kdy: 28 Srpna 2014, 12:56:10 »
Myslel jsem to tak, že nejsem vybavený téměř žádnými znalostmi.
Předpokládal jsem, že to přihlášení bude "na jeden řádek" něco jako jsem dal výše příklad u Samby
mount -t cifs   atd...................

Teď jsem si tu změnu přípon opsal pro počítač s Windows
NET USE X: \\10.0.0.103\Filmy
REN X:\ *mkv *.avi
NET USE X: /delete
Je to opravdu jen jedno kliknutí na soubor Prejmenovani.bat, funguje perfektně.
ale dyk to je na jeden radek
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

 

Provoz zaštiťuje spolek OpenAlt.