Autor Zpráva
RastyAmateur
Profil
Zdravím,

snažím se vykoumat, jak se přihlašovat pomocí ssh z mého počítače bez hesla. Postupoval jsem tak nějak podle návodu, ale stále to nefunguje...

1) pomocí ssh-keygen jsem si vygeneroval C:/path/id_rsa a C:/path/id_rsa.pub u sebe v počítači
2) na serveru jsem vytvořil /.ssh/authorized_keys, což je shodný soubor s předchozím C:/path/id_rsa.pub

Ovšem stále to chce heslo... Kde jsem udělal chybu?

Děkuji,
RA


VYŘEŠENO
Nevěděl jsem význam "~". Myslel jsem si, že je to prostý root. Stačilo složku přesunout do /root (tj. soubor dát do /root/.ssh/authorized_keys)
Keeehi
Profil
RastyAmateur:
Patří to do home adresáře uživatele, na kterého se chceš přihlašovat (to znamená ta tilda). Pokud se chceš přihlásit na roota, pak jsi to dal správně. Ovšem přihlašovat se jako root není vůbec vhodné. Měl bys si vytvořit nějakého svého uživatele a přihlašovat se na něj, ne na roota. Tento uživatel ale už může mít sudo. V takovém případě by pak cestal defaultně byla /home/uzivatelske_jmeno/.ssh/authorized_keys
RastyAmateur
Profil
Keeehi:
Proč není vhodné se přihlašovat jako root? Pokud bych chtěl tedy vytvořit nového uživatele s privilegii "sudo", udělám to jak?
# adduser rasty
# mkdir /home/rasty
# chown rasty /home/rasty
# usermod -d /home/rasty
# usermod -a -G sudo rasty
Tomášeek
Profil
RastyAmateur:
Hlavní důvod, proč nepracovat jako root, je bezpečnost. Dá se toho najít více, namátkově jsem našel askubuntu.com/questions/16178/why-is-it-bad-to-log-in-as-root a zejména 2. odpověď dává docela dobrý obrázek. Pročti si ale i ty zbylé, případně vč. dobře hodnocených komentů, případně zkus vygooglit podobná témata.

Upozorňuji, že jsem to celé nečetl, ale ta druhá odpověď smysl dává.
Keeehi
Profil
RastyAmateur:
Proč není vhodné se přihlašovat jako root?
Spousta důvodů. Jeden z nich který určitě oceníš je ten, že to může zabránit chybám, které člověk dělá. Alespoň těm závažnějším. Je strašně lehké spustit omylem nějaký příkaz který nechceš a něco si smazat. Root může všechno, an nic se tě neptá. Ale když na to zprvu nemáš práva tak se nic nestane a tebe to donutí zamyslet se, jestli mažeš něco chceš nebo je tu něco divného.
RastyAmateur
Profil
Keeehi:
Založil jsem si tedy nový účet, ale nyní si nejsem úplně jistý, jak se chovat. Již tam mám nainstalovaný například apache, nebo i rozběhané nějaké webovky, ale jakmile chci cokoliv editovat, nebo se jen dostat mimo svůj adresář /home/rasty, potřebuji použít sudo (přičemž sudo cd je neznámý příkaz, takže se vlastně nikam nedostanu). To předpokládám není správně.

Postupoval jsem podle příkazů v [#3]
Tomášeek
Profil
RastyAmateur:
Tvůj uživatel nemá pro dané soubory/složky práva (vlastníkem je asi root nebo něco takového).
Keeehi
Profil
RastyAmateur:
No tohle je několik problémů dohromady, takže postupně.

ale jakmile chci cokoliv editovat, nebo se jen dostat mimo svůj adresář /home/rasty, potřebuji použít sudo
To není úplně pravda. Potřebuješ na to práva. Čehož dosáhneš buď tím že ze sebe uděláš roota co má práva na vše a nebo si nejdřive správně nastavíš práva přístupu a pak to budeš moci dělat ze svého účtu. Apache většinou běží pod uživatelem www-data. Takže svůj účet chceš přidat do skupiny www-data. No a pak jen stačí, aby jsi na /var/www měl správná práva pro skupinu. Nejvhodnější tedy bude se "přihlásit" jako uživatel www-data a přidat práva pro skupinu.
sudo -u www-data chmod g+w /var/www případně sudo -u www-data chmod -R g+w /var/www pro všechny soubory a složky pod danou cestou.
Pak je ještě vhodné (tedy alespoň já to tak mám, nevím zda to je doporučený postup) nastavit SGID bit složce /var/www (případně jíž vytvořeným podsložkám) ale ne souborům. Zařídí to, že nově vytvořené soubory a složky budou mít také nastavené právo zápisu pro skupinu.
sudo -u www-data chmod g+s /var/www

přičemž sudo cd je neznámý příkaz
A na to jsi přišel jak? Protože chybovou hlášku jsi sem nenapsal a z tvé ne úplně přesné formulace se toho moc odvodit nedá. V tomto případě je příkaz (program) sudo a cd je jen parametrem tohoto příkazu. Samozřejmě program sudo se pak snaží spustit program, jehož název mu parametrem předáš. Nedá se to úplně považovat za jeden příkaz, problém může být na více místech a chybová hláška by měla být jiná. Buď tvůj účet nezná/nemůže spustit program sudo. A nebo ho spustí ale program sudo pak nezná/nemůže spustit program cd. První co bych udělal je restart systému. Nic kritického na něm zatím nejspíš neběží a může to vyřešit určité problémy. No a pokud to nepomůže pak bude potřeba se nejspíše podívat na cesty ($PATH).
TomášK.
Profil *
Keeehi:
přičemž sudo cd je neznámý příkaz“
A na to jsi přišel jak? Protože chybovou hlášku jsi sem nenapsal a z tvé ne úplně přesné formulace se toho moc odvodit nedá.


Zkus si to, terminál řekne téměř to samé.

> sudo cd
sudo: cd: command not found

cd není program, ale vestavěný příkaz shellu, a na ty sudo nefunguje. Ono nedává moc smysl, aby to fungovalo, pokud by ses přepnul do adresáře, na který nemáš práva, tak nedokážeš ani vypsat jeho obsah (seznam souborů).
RastyAmateur
Profil
Děkuji za rady, nějak se s tím tedy poperu :)

Vaše odpověď

Mohlo by se hodit

Zvažte, zda se neobrátit na specializované fórum, toto se zabývá především webovou problematikou.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: