abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
17.1. 19:00 | Komunita

Fedora Magazine informuje, že Fedora CoreOS je již k běžnému používání. Jedná se o nástupce Fedora Atomic Hostu a CoreOS Container Linuxu. Projekt Fedora CoreOS byl představen v červnu 2018. Preview verze byla vydána v červenci 2019.

Ladislav Hagara | Komentářů: 0
17.1. 14:11 | Komunita

Na platformě HackerOne byl spuštěn Kubernetes - Bug Bounty Program aneb program odměn za nalezení bezpečnostních chyb v orchestrátoru kontejnerů Kubernetes. Za nalezení kritické bezpečnostní chyby lze získat odměnu 10 000 dolarů.

Ladislav Hagara | Komentářů: 0
17.1. 13:11 | Pozvánky

Bilanční pražský sraz spolku OpenAlt se koná příští středu 22. 1. 2020 od 18:00 na pražském Andělu v ulici Lidická 337/30Andělském pivovaru. Nezapomeňte s sebou vzít hračky, které vám nadělil Ježíšek, a pochlubit se novinkami, které chystáte v novém roce 2020.

xkucf03 | Komentářů: 1
17.1. 07:00 | IT novinky

Byly zveřejněny informace o kritické bezpečnostní chybě CVE-2020-0601 v ověřování ECC certifikátů v operačních systémech Microsoft Windows. Uživatelé webového prohlížeče Chrome a prohlížečů postavených na Chromiu mohli být například relativně snadno obelstěni, poněvadž tyto prohlížeče spoléhají toto ověřování. Uživatelé Firefoxu byli v bezpečí, protože Firefox si ve výchozím nastavení certifikáty ověřuje sám a při návštěvě podvržené stránky uživatele na problém upozornil. Chyba byla nalezena Národní bezpečnostní agenturou (NSA).

Ladislav Hagara | Komentářů: 3
17.1. 06:00 | IT novinky

Humble Bundle nabízí balík 29 počítačových her za 25 USD. Z toho 16 titulů je k dispozici i pro Linux. Akce trvá do 23. ledna. Výtěžek půjde australským organizacím zabývajícím se ochranou divokých zvířat – poté, co v probíhajících požárech dosud zahynulo na miliardu zvířat a spálena byla plocha přes 18 mil. hektarů.

Fluttershy, yay! | Komentářů: 1
16.1. 14:22 | Nová verze

Bylo vydáno GNU Guile (Wikipedie), tj. svobodná implementace programovacího jazyka Scheme, v nové major verzi 3.0.0. Novinkou je především zrychlení běhu programů díky just-in-time (JIT) překladu. Podrobnosti v oznámení o vydání.

Ladislav Hagara | Komentářů: 0
16.1. 13:00 | Zajímavý software

Po roce vývoje byla vydána nová verze 0.10.0 programu pro počítačovou sazbu SILE. Zdrojové kódy SILE jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 0
16.1. 07:00 | Komunita

TechCrunch informuje, že Mozilla Corporation propouští 70 zaměstnanců. Dle Mitchell Baker se Mozille nedaří generovat příjmy.

Ladislav Hagara | Komentářů: 34
16.1. 06:00 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 172. brněnský sraz, který proběhne v pátek 17. ledna od 18:00 v restauraci SteakHouse K1 na adrese Bubeníčkova 11, Brno - Židenice.

Ladislav Hagara | Komentářů: 0
16.1. 00:33 | IT novinky

Byl spuštěn prodej v prosinci představeného notebooku Kubuntu Focus s předinstalovanou linuxovou distribucí Kubuntu. Koupit jej lze za cenu od 2 395 dolarů.

Ladislav Hagara | Komentářů: 0
Zdají se vám sny s IT tématikou?
 (10%)
 (1%)
 (13%)
 (17%)
 (52%)
 (7%)
Celkem 213 hlasů
 Komentářů: 10, poslední včera 16:18
Rozcestník

www.AutoDoc.Cz

Dotaz: Přenesení proměnných ssh + 'sudo bash'

15.11.2019 15:32 majales | skóre: 26 | blog: Majales
Přenesení proměnných ssh + 'sudo bash'
Přečteno: 256×
Ahoj, Snažím se odladit skript pro jenkins kde úspěšně používám tuto konstrukci:
ssh jenkins@IP BACKUPHOSTIP=$BACKUPHOSTIP 'bash -s' <<'ENDSSH'
hostnamectl
echo "IP adresa zálohovaného stroje je $BACKUPHOSTIP"
ENDSSH
což funguje a vypíše to obsah proměnné BACKUPHOSTIP.

Ovšem při podobném případu a použití sudo toto nefunguje ať se snažím jak se snažím:
ssh jenkins@IP BACKUPHOSTIP=$BACKUPHOSTIP 'sudo BACKUPHOSTIP=$BACKUPHOSTIP -u backupuser -i bash -s' <<'ENDSSH'
echo "1 IP adresa zálohovaného stroje je $BACKUPHOSTIP"
echo "2 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP}
echo "3 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP@Q}
ENDSSH
Výsledek je vždy prázdná proměnná. Nevěděl by někdo jak to vyřešit?

Konstrukci se bash STDIN používám protože by bylo nesnadné prát se se všemi těmi uvozovkami v uvozovkách.


Řešení dotazu:


Odpovědi

15.11.2019 15:57 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
  1. man sudoers: Hledej hesla variable a env_reset.
  2. Pro úplnost (což ale není tento případ): v man ssh_config je SendEnv a v man sshd_config je AcceptEnv. To se taky může hodit, kdyby šlo o předávání proměnných z lokálního shellu skrz SSH na druhou stranu.
ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
15.11.2019 17:06 majales | skóre: 26 | blog: Majales
Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
Bohuže ani varianta s -E nezabrala.

ssh jenkins@IP BACKUPHOSTIP=$BACKUPHOSTIP 'sudo BACKUPHOSTIP=$BACKUPHOSTIP -E -u backupuser -i bash -s' <<'ENDSSH'

dává stejné výsledky jako předchozí pokusy
16.11.2019 00:17 jejda | skóre: 3
Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
Nemělo by to sudo být ve zdvojených uvozovkách? V jednoduchých uvozovkách ty proměnné shell nerozbalí.
16.11.2019 03:42 debian+
Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
Premenna pre jeden prikaz sa definuje spravne pred prikazom a nie medzi parametre prikazu (to ze ssh funguje je bonus). A ano, ako pise vyssie s uvodzovkami. Ta cas prikazu. Cez siet sa posielaju retazce textu. Nie, ako zvlast prikaz s lokalnimi premennami a zvlast hodnoty tych premennych.

Tj. spravne je:
ssh USER@IP "BACKUPHOSTIP=$BACKUPHOSTIP sudo -u backupuser -i bash -s" <<'ENDSSH'
echo "1 IP adresa zálohovaného stroje je $BACKUPHOSTIP"
echo "2 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP}
echo "3 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP@Q}
ENDSSH
alebo ak chces zdoraznit, ze predtym bola definovana:
BACKUPHOSTIP=$BACKUPHOSTIP; ssh USER@IP "BACKUPHOSTIP=$BACKUPHOSTIP sudo -u backupuser -i bash -s" <<'ENDSSH'
echo "1 IP adresa zálohovaného stroje je $BACKUPHOSTIP"
echo "2 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP}
echo "3 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP@Q}
ENDSSH
Inac, prikaz set vypise vsetky aktualne premenne shellu.
17.11.2019 00:20 majales | skóre: 26 | blog: Majales
Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
Ahoj díky za snahu, ale mě to nefunguje..
root@notebook:/# BACKUPHOSTIP="2.3.4.5"
root@notebook:/# BACKUPHOSTIP=$BACKUPHOSTIP;echo $BACKUPHOSTIP; ssh USER@IP "echo $BACKUPHOSTIP;BACKUPHOSTIP=$BACKUPHOSTIP sudo -u backupuser -i bash -s"
2.3.4.5
2.3.4.5
echo $BACKUPHOSTIP

^Croot@notebook:/#
ta proměnná je prázdná.. nepřejde přes to sudo dle všeho. Nakonec jsem to odescapoval, nebylo to tak hrozné..
Řešení 1× (majales (tazatel))
Josef Kufner avatar 17.11.2019 00:43 Josef Kufner | skóre: 69
Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
man sudo:
     --preserve-env=list
                 Indicates to the security policy that the user wishes to add
                 the comma-separated list of environment variables to those pre‐
                 served from the user's environment.  The security policy may
                 return an error if the user does not have permission to pre‐
                 serve the environment.
Hello world ! Segmentation fault (core dumped)
17.11.2019 00:56 majales | skóre: 26 | blog: Majales
Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
Ano, to zabralo zdá se..
echo $BACKUPHOSTIP
2.3.4.5
Děkuji.

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.