Nowe posty

xx Problem z Linux Lite po instalacji (1)
Dzisiaj o 15:19:31
xx Dystrybucja pod HP Omen (7)
Dzisiaj o 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: ssh, putty oraz klucze  (Przeczytany 14100 razy)

NetSky

  • Gość
ssh, putty oraz klucze
« dnia: 2010-09-30, 21:08:33 »
Witam... Pewnie dla niektórych z was to banał ale dla mnie niestety nie bo na linuxie działam od niedawna i wielu rzeczy ciągle się uczę.

W czym tkwi mój problem... Mam postawiona maszynę wirtualna w domu i chciałbym się móc z nią łączyć przez putty z innego miejsca w Polsce używając wcześniej zdefiniowanego przez siebie klucza od razu logując się jako root bez potrzeby wpisywania haseł itp...

Oczywiście chciałbym nadmienić aby niemożliwe było wejście na ten komputer bezpośrednio jako root z zewnątrz jeśli nie ma się odpowiedniego klucza. (wpisanie loginu jako root i nawet poprawnego hasła nie powinno nic wykonac )
Po prostu boje się o możliwość włamania się na taki server i chciałbym go zabezpieczyc przed obcymi. Co innego jeśli ktoś ma konto użytkownika bo wtedy może się zalogowac na swoje i bezpośrednio lognąc się na roota podając hasło jeśli je zna ale o to się nie martwię.
 
A wszystko po to gdyż chciałbym se umilić pracę z tym systemem bez wpisywania jakichkolwiek haseł


Powiedzcie mi proszę gdzie to mogę ustawić oraz do czego służy plik w katalogu ssh "known_host" na koncie roota bo pare razy już się z tym spotkałem


Pozdrawiam i czekam na informacje :)

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
ssh, putty oraz klucze
« Odpowiedź #1 dnia: 2010-10-01, 04:04:58 »
Cytat: NetSky
A wszystko po to gdyż chciałbym se umilić pracę z tym systemem bez wpisywania jakichkolwiek haseł
Sorry kolego ale Ty chyba systemy pomyliłeś. To ludzie po to godzinami pracują nad tym, aby tworzyć zabezpieczenia dla systemu, a Ty nie chcesz ich używać, bo wolisz wygodę? Jeden taki jak Ty na innym forum już płakał, że mu się na serwer włamano i co najlepsze, został pozbawiony dostępu do niego, bo miał gdzieś zabezpieczenia :)

Poza tym to co chcesz osiągnąć jest raczej mało wykonalne, zdecydowanie lepszym rozwiązaniem będzie poszukanie w opcjach PuTTY czy oferuje zapamiętywanie haseł, choć sam tej opcji nie zauważyłem. Natomiast klucze generowane są w celach autoryzacyjnych i tylko klienci z poprawnym kluczem są dopuszczani, to samo tyczy się known_host, tylko znane serwerowi hosty są dopuszczane do niego.

Pozdrawiam!

ZipoKing

  • Gość
ssh, putty oraz klucze
« Odpowiedź #2 dnia: 2010-10-01, 08:39:48 »
@roobal Jesteś w błędzie twierdząc iż jest to niewykonalne. Na SSH możesz logować się dwojako: albo "standardowo" podając hasło, albo przy pomocy kluczy RSA/DSA.

@NetSky
1. Zajrzyj do konfiguracji demona SSH i wyłącz możliwość logowania po haśle, zostawiając jedynie logowanie po kluczu
2. Zmień ustawienia SSH tak, aby serwer nasłuchiwał na niestandardowym porcie (np. 43769) - w ten sposób pozbędziesz się 99% skanerów które na brute force'a będą chciały się zalogować.
3. Wygeneruj parę kluczy, pod linuksem poleceniem
ssh-keygen -t rsa
- wygenerowane klucze znajdziesz w katalogu domowym w podkatalogu .ssh
4. Umieść zawartość pliku id_rsa.pub na serwerze, w pliku ~/.ssh/authorized_keys w katalogu domowym roota (tj. /root/.ssh/authorized_keys) - jeżeli tego pliku nie ma, uwtórz go
5. Plik id_rsa to plik prywatny, którego podajesz w konfiguracji Putty'ego (o ile dobrze pamiętam, klucz ten trzeba chyba jeszcze przekonwertować do formatu używanego przez Putty - tego niestety nie wiem bo nie używam, ale Google odpowie ci na to pytanie).

NetSky

  • Gość
ssh, putty oraz klucze
« Odpowiedź #3 dnia: 2010-10-01, 09:19:11 »
@ZipoKing Dziękuję za info... Co do klucza to zrobiłem go już dawno i też prze konwertowałem w putty

i jeszcze jedno... czy Twój sposób uniemożliwi logowanie się na zwykłe konto jeśli nie posiada się klucza ? Bo szczerze to chciałbym tego uniknąc bo nie tylko ja z niego korzystam a nie mam zamiaru tworzyc klucza dla każdego z kont co wiem iż jest możliwe.

@robal Właśnie to co chce zrobić ma na celu zabezpieczenie systemu od zewnątrz. Bo jeśli ktoś zdobyłby przez przypadek hasło na roota mógłby się do niego bezpośrednio dostac a tak ma tylko dostęp jeśli ma konto na tym serwerze lub łączy się w Lanie albo zdobędzie w jakiś sposób klucz

ZipoKing

  • Gość
ssh, putty oraz klucze
« Odpowiedź #4 dnia: 2010-10-01, 10:47:58 »
Niestety, ale nie możesz wybiórczo przydzielać formy logowania każdemu z użytkowników, jednakże możesz uruchomić dwie instancje demona SSH (oczywiście z innymi plikami konfiguracyjnymi, słuchającymi na osobnych portach).

Aman

  • Gość
ssh, putty oraz klucze
« Odpowiedź #5 dnia: 2010-10-01, 10:49:51 »
W moim mniemaniu powinno się w ogóle zablokować możliwość logowania na konto roota po ssh.
Loguj się na zwykłego użytkownika i za pomocą su klep hasło. Jest to najbezpieczniejsze rozwiązanie.

darkdancer

  • Gość
ssh, putty oraz klucze
« Odpowiedź #6 dnia: 2010-10-01, 11:46:23 »
Cytat: NetSky
@robal Właśnie to co chce zrobić ma na celu zabezpieczenie systemu od zewnątrz. Bo jeśli ktoś zdobyłby przez przypadek hasło na roota mógłby się do niego bezpośrednio dostac a tak ma tylko dostęp jeśli ma konto na tym serwerze lub łączy się w Lanie albo zdobędzie w jakiś sposób klucz
To twoje twierdzenie jest odrobinę bezsensowne jeżeli wyłączysz po prostu możliwość logowania jako root po SSH.

NetSky

  • Gość
ssh, putty oraz klucze
« Odpowiedź #7 dnia: 2010-10-01, 11:47:24 »
ale gdy hasło ma np 30 znaków ? Nie jest to wcale takie łatwe do zapamiętania a nie mam ochoty też grzebac w zeszycie i szukac go :)

Aman

  • Gość
ssh, putty oraz klucze
« Odpowiedź #8 dnia: 2010-10-01, 12:22:04 »
To zmień hasło na łatwiejsze. 8-9 literowe kombinacje da radę zapamiętać.

chmooreck

  • Gość
ssh, putty oraz klucze
« Odpowiedź #9 dnia: 2010-10-01, 12:28:02 »
Cytat: NetSky
ale gdy hasło ma np 30 znaków ? Nie jest to wcale takie łatwe do zapamiętania a nie mam ochoty też grzebac w zeszycie i szukac go :)
Mocarz jesteś skoro łatwiej Ci zapamiętać klucz ;-)

NetSky

  • Gość
ssh, putty oraz klucze
« Odpowiedź #10 dnia: 2010-10-01, 12:49:05 »
Cytat: chmooreck
Cytat: NetSky
ale gdy hasło ma np 30 znaków ? Nie jest to wcale takie łatwe do zapamiętania a nie mam ochoty też grzebac w zeszycie i szukac go :)
Mocarz jesteś skoro łatwiej Ci zapamiętać klucz ;-)
chyba raczej o hasło do klucza Ci chodzi bo wątpię żebym gdziekolwiek musiał pamiętać ciąg znaków w kluczu

chmooreck

  • Gość
ssh, putty oraz klucze
« Odpowiedź #11 dnia: 2010-10-01, 13:09:13 »
Jakie hasło do klucza ?
Generujesz 2 klucze, publiczny i prywatny. Jeden z nich musisz mieć przy sobie, żeby się zalogować.

NetSky

  • Gość
ssh, putty oraz klucze
« Odpowiedź #12 dnia: 2010-10-01, 13:59:18 »
Cytat: chmooreck
Jakie hasło do klucza ?
Generujesz 2 klucze, publiczny i prywatny. Jeden z nich musisz mieć przy sobie, żeby się zalogować.
publiczny zostawiam w /root/ssh/ i zmieniam nazwę na "authorized_keys" a prywatny służy do logowania się powiedzmy przez putty gdzie to wcześniej go konwertuje. Taki klucz możesz sobie zabezpieczyć hasłem, żeby nawet jakbyś go stracił a ten ktoś wiedziałby jak go użyć to musi najpierw złamać hasło.


@ZipoKing nastawienie PermitEmptyPasswords na "no" powoduje iż użytkownicy nie mogą się zalogowac... muszą posiadać klucze a dla każdego tworzyć oddzielny klucz to troszkę lipa

ZipoKing

  • Gość
ssh, putty oraz klucze
« Odpowiedź #13 dnia: 2010-10-01, 18:17:09 »
Poniżej masz działającą konfigurację SSHD w trybie "logowanie tylko przez klucz":

# Package generated configuration file
# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for
Port 51136
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes                                                                                                                                                            
#AuthorizedKeysFile     %h/.ssh/authorized_keys                                                                                                                                    
                                                                                                                                                                                   
# Don't read the user's ~/.rhosts and ~/.shosts files                                                                                                                              
IgnoreRhosts yes                                                                                                                                                                    
# For this to work you will also need host keys in /etc/ssh_known_hosts                                                                                                            
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
ssh, putty oraz klucze
« Odpowiedź #14 dnia: 2010-10-01, 19:14:26 »
Cytat: ZipoKing
@roobal Jesteś w błędzie twierdząc iż jest to niewykonalne. Na SSH możesz logować się dwojako: albo "standardowo" podając hasło, albo przy pomocy kluczy RSA/DSA.
Dlatego napisałem raczej, bo nigdy nie pomyślałem o tym, aby logować się bez podawania hasła :)

Pozdrawiam!