Przechowywanie kluczy SSH programu PuTTY w KeePass

Powyżej wersji 0.60 klient SSH PuTTY posiada wsparcie dla tzw. agenta uwierzytelniania. Dołączona do programu wersja – Pageant – pozwala na załadowanie do pamięci wielu kluczy i uwierzytelnianie nimi nie tylko połączeń z lokalnego komputera, ale w przypadku połączeń przez serwery OpenSSH również kolejnych sesji (agent forwarding).

KeeAgent – plugin do KeePass \”podszywający się\” pod Pageanta pozwala na przechowywanie kluczy SSH w rekordach bazy kdbx programu KeePass.

Aby dodać plugin do menadżera kluczy, z pobranego ze strony projektu archiwum kopiujemy plik KeeAgent.plgx do katalogu instalacji. Przy ponownym uruchomieniu, zostanie on skompilowany i załadowany.
Pliki kluczy SSH (ppk) dodajemy do rekordów w \”zaawansowanych\” jako załączniki. Jeżeli są zabezpieczone hasłem – podajemy je jako hasło we wpisie.

Następnie przechodzimy do konfiguracji PuTTY.
\"\"
Wybierając opcję \”Attempt authentication using Pageant\” zapewniamy sobie możliwość logowania kluczem z odblokowanej bazy KeePass z komputera lokalnego.
Opcja \”Allow agent forwarding\” pozwala na użycie Pageanta w uwierzytelnianiu kolejnych połączeń z serwera do którego jesteśmy zalogowani. Nie powinno się używać tej opcji na serwerach, którym nie ufamy – klucze mogą zostać użyte wtedy również przez administratora systemu (podobnie jak hasło, które wpisywaliśmy jak dotąd).

Po właściwej konfiguracji, po połączeniu do serwera który rozpoznaje nasz klucz powinno ukazać nam się powiadomienie jak i gotowa do pracy sesja zdalnej konsoli.

\"\"

Debian – reset hasła root serwera MySQL

Niestety często przejmując pod opiekę serwer, bądź jedną z usług brakuje części haseł dostępowych do uprzywilejowanych użytkowników. W tym przypadku podobny problem napotkaliśmy z serwerem baz danych MySQL. Poniżej publikujemy procedurę postępowania w tym przypadku w dystrybucji Debian.

Droga na skróty – debian-sys-maint

Zanim przystąpimy do ustawienia nowego hasła użytkownika root, a korzystamy z pochodzącego z repozytorium apt pakietu warto sprawdzić, czy użytkownik systemowy \”debian-sys-maint\” którego poświadczenia znajdziemy w /etc/mysql/debian.cnf nie ma wystarczających uprawnień. W domyślnych ustawieniach jego dane powinny wystarczyć nam do zmiany hasła bądź wykonania niezbędnych czynności administracyjnych

Ostatnia szansa – reset hasła MySQL

Aby dokonać zmiany hasła nie posiadając wystarczających uprawnień musimy mieć dostęp do użytkownika root samego serwera. W kolejnych krokach uruchomimy MySQL w trybie, w którym każdemu połączeniu zostaną przypisane pełne uprawnienia – w tym do zmiany hasła roota.

  1. Zatrzymujemy serwer MySQL:
    service mysql stop
  2. Uruchamiamy serwer MySQL bez sprawdzania poświadczeń oraz bez zdalnych połączeń.
    /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –pid-file=/var/run/mysqld/mysqld.pid –skip-external-locking –port=3306 –socket=/var/run/mysqld/mysqld.sock –skip-grant-tables –skip-networking
  3. W drugiej sesji SSH logujemy się na serwer MySQL i dokonujemy zmiany hasła roota, przeładowujemy uprawnienia. Kroki te możemy także wykonać przez phpMyAdmin logując się z dowolnym hasłem.
    # mysql -u root
    mysql> UPDATE mysql.user SET Password=PASSWORD(\’Nowe Hasło\’) WHERE User=\’root\’;
    mysql> FLUSH PRIVILEGES;
    mysql> exit
  4.  W tej samej sesji wyłączamy serwer MySQL (nie reaguje na CTRL+C), uruchamiamy go w normalnym trybie
    # kill $(cat /var/run/mysqld/mysqld.pid)
    # service mysql start
  5. Najważniejszy krok – zapisujemy bezpiecznie nowe hasło. W naszej do generowania, przechowywania i współdzielenia haseł korzystamy z darmowego oprogramowania Keepass