Pokaż wyniki 1 do 6 z 6

Temat: Jak zrobić aby user był logowany (z hasłem) automatycznie przy starcie systemu z ssh?

  1. #1
    Zarejestrowany
    Jan 2012
    Postów
    3

    Question Jak zrobić aby user był logowany (z hasłem) automatycznie przy starcie systemu z ssh?

    Jak zrobić aby user był logowany (z hasłem) automatycznie przy starcie systemu za pomocą ssh?
    Chodzi o Ubuntu 10.04.3 LTS Server.
    Jak to zrobić w terminalu?

    Interesuje mnie uruchomnienie poleceniem


    ssh -2 -fN [email protected]

    .
    Root bez hasła (tzn. kluczami id_rsa i id_rsa.pub) ma uruchomić skrypt, który właśnie zaloguje w tle danego usera i to na tym samym serwerze.

    Z terminala podając linię skrypt ładnie loguje jednak po restarcie serwera root nie może zalogować user1.
    Podaje komunikat:


    Permission denied, please try again.
    Permission denied, please try again.
    Permission denied (publickey,password).

    .
    Po zalogowaniu się znowu na user1 i uruchomieniu skryptu:


    #!/bin/bash
    echo 'Uruchomiono:'
    date
    ssh -2 -fN [email protected]



    z poleceniem z ssh -2 -fN [email protected] jako root ładnie uruchamia się w tle.

    A mnie interesuje automatyczne zalogowanie na user1 np. po starcie serwera.

    Nawet po wpisaniu w
    /etc/rc.local

    nie działa.

    Co z tym zrobić?


    grep PermitRootLogin /etc/ssh/sshd_config
    pokazuje:


    PermitRootLogin no
    # the setting of "PermitRootLogin without-password".

    Po zmianie na:


    PermitRootLogin yes


    i zalogowaniu się bezpośrednio na root

    nadal wyświetla:


    Permission denied, please try again.
    Permission denied, please try again.
    Permission denied (publickey,password).


    Czyli root również nie może.

    Dopiero po zalogowaniu się na user1, który chciał wpisanie hasła, root może logować za pomocą skryptu lub crona.

    Dodatkowo załączam log:


    /var/log/auth.log



    Jan 26 13:21:01 serwer-1 CRON[3956]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:21:01 serwer-1 CRON[3954]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:21:01 serwer-1 CRON[3953]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:21:01 serwer-1 CRON[3955]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:21:01 serwer-1 CRON[3952]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:21:01 serwer-1 CRON[3952]: pam_unix(cron:session): session closed for user root
    Jan 26 13:21:01 serwer-1 CRON[3955]: pam_unix(cron:session): session closed for user root
    Jan 26 13:21:01 serwer-1 CRON[3956]: pam_unix(cron:session): session closed for user root
    Jan 26 13:21:07 serwer-1 sshd[3977]: Failed password for user1 from 192.168.1.10 port 56130 ssh2
    Jan 26 13:21:07 serwer-1 sshd[3977]: Failed password for user1 from 192.168.1.10 port 56130 ssh2
    Jan 26 13:21:07 serwer-1 CRON[3953]: pam_unix(cron:session): session closed for user root
    Jan 26 13:21:07 serwer-1 sshd[3977]: Failed password for user1 from 192.168.1.10 port 56130 ssh2
    Jan 26 13:21:23 serwer-1 CRON[3954]: pam_unix(cron:session): session closed for user root
    Jan 26 13:21:41 serwer-1 sshd[3985]: pam_sm_authenticate: Called

    Jan 26 13:21:41 serwer-1 sshd[3985]: pam_sm_authenticate: username = [user1]
    Jan 26 13:21:41 serwer-1 sshd[3987]: Passphrase file wrapped
    Jan 26 13:21:47 serwer-1 sshd[3985]: Accepted password for user1 from 192.168.1.172 port 45251 ssh2
    Jan 26 13:21:47 serwer-1 sshd[3985]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
    Jan 26 13:22:01 serwer-1 CRON[4111]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:22:01 serwer-1 CRON[4110]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:22:01 serwer-1 CRON[4109]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:22:01 serwer-1 CRON[4112]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:22:01 serwer-1 CRON[4108]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:22:01 serwer-1 CRON[4108]: pam_unix(cron:session): session closed for user root
    Jan 26 13:22:01 serwer-1 CRON[4111]: pam_unix(cron:session): session closed for user root
    Jan 26 13:22:01 serwer-1 CRON[4112]: pam_unix(cron:session): session closed for user root
    Jan 26 13:22:07 serwer-1 CRON[4109]: pam_unix(cron:session): session closed for user root
    Jan 26 13:22:07 serwer-1 sshd[4133]: Accepted publickey for user1 from 192.168.1.10 port 56131 ssh2
    Jan 26 13:22:07 serwer-1 sshd[4133]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
    Jan 26 13:22:24 serwer-1 CRON[4110]: pam_unix(cron:session): session closed for user root
    Jan 26 13:22:55 serwer-1 sshd[4087]: Received disconnect from 192.168.1.172: 11: disconnected by user
    Jan 26 13:22:55 serwer-1 sshd[3985]: pam_unix(sshd:session): session closed for user user1
    Jan 26 13:23:01 serwer-1 CRON[4229]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:23:01 serwer-1 CRON[4227]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:23:01 serwer-1 CRON[4226]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:23:01 serwer-1 CRON[4228]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:23:01 serwer-1 CRON[4225]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:23:01 serwer-1 CRON[4225]: pam_unix(cron:session): session closed for user root
    Jan 26 13:23:01 serwer-1 CRON[4228]: pam_unix(cron:session): session closed for user root
    Jan 26 13:23:01 serwer-1 CRON[4229]: pam_unix(cron:session): session closed for user root
    Jan 26 13:23:06 serwer-1 CRON[4226]: pam_unix(cron:session): session closed for user root
    Jan 26 13:23:06 serwer-1 sshd[4250]: Accepted publickey for user1 from 192.168.1.10 port 56132 ssh2
    Jan 26 13:23:06 serwer-1 sshd[4250]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
    Jan 26 13:23:23 serwer-1 CRON[4227]: pam_unix(cron:session): session closed for user root
    Jan 26 13:24:01 serwer-1 CRON[4342]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:24:01 serwer-1 CRON[4340]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:24:01 serwer-1 CRON[4339]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:24:01 serwer-1 CRON[4341]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:24:01 serwer-1 CRON[4338]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:24:01 serwer-1 CRON[4338]: pam_unix(cron:session): session closed for user root
    Jan 26 13:24:01 serwer-1 CRON[4341]: pam_unix(cron:session): session closed for user root
    Jan 26 13:24:01 serwer-1 CRON[4342]: pam_unix(cron:session): session closed for user root
    Jan 26 13:24:06 serwer-1 CRON[4339]: pam_unix(cron:session): session closed for user root
    Jan 26 13:24:06 serwer-1 sshd[4363]: Accepted publickey for user1 from 192.168.1.10 port 56133 ssh2
    Jan 26 13:24:06 serwer-1 sshd[4363]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
    Jan 26 13:24:23 serwer-1 CRON[4340]: pam_unix(cron:session): session closed for user root
    Jan 26 13:25:01 serwer-1 CRON[4455]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:25:01 serwer-1 CRON[4454]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:25:01 serwer-1 CRON[4452]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:25:01 serwer-1 CRON[4453]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:25:01 serwer-1 CRON[4451]: pam_unix(cron:session): session opened for user root by (uid=0)
    Jan 26 13:25:01 serwer-1 CRON[4451]: pam_unix(cron:session): session closed for user root
    Jan 26 13:25:01 serwer-1 CRON[4454]: pam_unix(cron:session): session closed for user root
    Jan 26 13:25:01 serwer-1 CRON[4455]: pam_unix(cron:session): session closed for user root
    Jan 26 13:25:07 serwer-1 CRON[4452]: pam_unix(cron:session): session closed for user root
    Jan 26 13:25:07 serwer-1 sshd[4476]: Accepted publickey for user1 from 192.168.1.10 port 56134 ssh2
    Jan 26 13:25:07 serwer-1 sshd[4476]: pam_unix(sshd:session): session opened for user user1 by (uid=0)[/COLOR]




    gdzie szarego tekstu czyli zalogowania user1 z innego kompa (czyli 192.168.1.172), widać prawidłowe logowanie się rootem,
    akceptacją hasła za pomocą klucza:
    Jan 26 13:22:07 serwer-1 sshd[4133]: Accepted publickey for user1 from 192.168.1.10 port 56131 ssh2
    i otwarcie sesji dla user1:
    Jan 26 13:22:07 serwer-1 sshd[4133]: pam_unix(sshd:session): session opened for user user1 by (uid=0)

    Jak widać wykonywane to zostało za pomocą crona co minutę.

    Co zrobić aby user1 sam się logował na własnej maszynie (czyli na 192.168.1.10) np. po starcie systemu lub w cronie (najlepiej za pomocą ssh)?
    Ostatnio edytowane przez Mad_Dud : 01-27-2012 - 10:14

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    1. nie kombinuj z ssh jesli go nie potrzebujesz, to nie do tego jest aby odpalac lokalnie skrypty jako user
    2. nie zmieniaj uprawnien root'a do dostepu ssh jesli dokladnie nie wiesz dlaczego jest to jedyne wyjscie... jesli sa inne rozwiazania to nalezy ich uzyc

    Nie napisales dokladnie co chcesz zrobic wiec ciezko odpowiedziec na pytanie.

    Jesli chodzi o takie cos jak odpalenie na przyklad proxy IRC albo jakiegos programu co ma dzialac w tle to sa na to rozne sposoby.

    1. Mozesz napisac skrypt w bash'u albo dowolnym jezyku ktory sprawdza czy dany program dziala, jesli PID istnieje to sprawdza czy to an pewno ten program... jesli pid zapisany w pliku jest ale nie ma go w systemie to znaczy ze aplikacja padla i trzeba restart zrobic...
    2. Odpalenie aplikacji jako user gdy juz wiesz co wrocilo z #1 to prosta sprawa:
    - jesli aplikacja nie wymaga interakcji z userem w sensie konsoli to odpalasz program uzywajac 'nohup aplikacja &' i leci... tylko upewnij sie ze masz pidfile zrobione poprawnie
    - jesli potrzebujesz pozniej jako user podpiac sie do tego procesu (np interaktywna sesja irc albo podobne) to odpalasz program pod screen'em z parametrami ktore wysla go od razu w tlo i spowoduja detach - nie pamietam ktore to parametry ale od tego jest manual

    Cron ma taka przewage, ze odpala program jesli ten padnie. Odpalenie go tylko przy starcie nic nie da jesli aplikacja sie pozniej wylaczy.

    Jesli chcesz odpalic aplikacje jako usluge to popatrz jak sa odpalane inne uslugi w systemie - mozna zawsze podac pod jakim userem ma chodzic.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3
    Zarejestrowany
    Jan 2012
    Postów
    3

    Question

    A to wszystko robię po to aby zrobić typowy serwer plików na sambie który miałby udostępniać na stałe dany udział z hasłem usera.

    Coś podobnego do tego: Serwer plików jak stworzyć krok po kroku (41-60) - Systemy Uniksowe jednak z nie z "security = share"
    tylko z "security = user".

    Niestety po wykonaniu poniższego skryptu w pliku bat w Windows XP Home udział nie jest widoczny w całości.

    Szczegóły:
    udostępnienie folderu na ubuntu (samba) na hasło i login aby działało pod windows XP • UBUNTU.PL - Polskie forum użytkowników Ubuntu

    Jak to zrobić?
    Ostatnio edytowane przez Mad_Dud : 01-30-2012 - 14:34

  4. #4
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Rozwiazanie jest nieco bardziej zawile...

    Jesli samba dziala jako kontroler domeny to kazdy komputer musi miec swoje konto uzytkownika - tak jak w Active Directory. To umozliwi generalnie komputerowi podpiecie sie do dysku zanim user sie podlaczy - jesli bedzie taka potrzeba.

    Windows nie montuje zdalnych dyskow do czasu zalogowania sie usera i robienie tego za pomoca skryptow zanim user sie zaloguje jest jak widac problematyczne.

    To ze nie widac pewnych plikow lub nie mozna pisac do katalogow bedzie wlasnie z tym zwiazane jak sadze. Sprawdz czy na pewno masz dobre uprawnienia do plikow na Linuxie - user ktory jest w sambie musi tez istniec w systemie (linux). Dodajesz userow do grupu jakiejs ktora wybrales i ustawiasz mody aby grupa mogla pisac - wtedy masz ciaglosc uprawnien od SMB, przez sambe, lokalne konta na linuxie do samego systemu plikow. Bedziesz tez chcial ustawic odpowiedni umask w sambie aby od razu tworzylo pliki z wlasciwymi uprawnieniami.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  5. #5
    Zarejestrowany
    Jan 2012
    Postów
    3

    Domyślnie

    Samba nie dziala jako kontroler domeny - nie jest to mi potzebne teraz.

    "ustawiasz mody aby grupa mogla pisac"

    Czy może pan trochę rozwinąć ten cytat?

  6. #6
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Linuksowy chmod... rekursywnie w dol wspoldzielonego katalogu, wiec np masz grupe sambausers i recznie dodajesz do niej konta userow ktorzy maja dostep.
    Jedna sprawa to ze mozna okreslic kto ma dostep do udzialu juz w sambie podajac dozwolonych userow po przecinku albi @sambausers i beda tylko te loginy co naleza do grupy w linuksie. Tak wlasnie bym to zrobil - pogrupowal userow w linuxie o w sambie dal dostep do udzialu tylko tej grupie.

    Dalej na poziomie systemu plikow musisz miec pewnosc, ze grupa sambausers (czy jak ja nazwales) ma prawo odczytu i zapisu do plikow i katalogow ktore udostepnia samba... aby uproscic sprawe dalej, w sambie mozna poadc umask z ktorym beda tworzone now pliki i katalogi - chodzi o to aby pliki tworzone przez userow via samba mialy mod 664 a katalogi 775.

    Niestety nie mam juz dostepu do maszyny na ktore mialem to skonfigurowane (wylaczona 2 lata temu) ale to rozwiazanie dzialalo wysmienicie dla Samby dzialajacej na BSD, Linuxie i Solarisie 10.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Tagi

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj