2021-11-28
Nie kazda tworzona w Azure usluga powinna byc widoczna publicznie w internecie. Co zrobic, jesli do takiej maszyny chcesz sie jednak zalogowac z zewnatrz swojej sieci? Usluga Bastion moze w tym pomoc. Bastion pozwala na podlaczenie sie do maszyny zdalnej pulpitem lub ssh poprzez przegladarke
Wymagania
– VLAN – pewnie juz masz
– VM podpiety do VLAN – tez pewnie juz masz
– Odpowiednie uprawnienia i otwarty port do VM – z tym moze byc roznie, ale jesli to Twoje zabawki, to tez je masz
Instrukcje
– do sieci wirtulanej dodaj podsiec o nazwie AzureBastionSubnet. Ta siec musi miec maske /26 lub mniejsza. Domyslnie Azure proponuje /24 – tez jest ok
– dodaj obiekt Bastion. Nazwij go jak chcesz, okresl jego wlasciwosci jak chcesz, ale dwie rzeczy sa wazne: Nalezy wybrac ten sam region, wtedy w liscie prezentujacej sieci wirtualne pokaze sie twoja siec, a w liscie podsieci utworzona w poprzednim kroku podsiec
– prawie gotowe! Przejdz do maszyny wirtualnej, do sekcji Bastion i tam… wypelnij dane dotyczace polaczenia do tej maszyny – kliknij connect i gotowe!
Potencjalne problemy:
– na liscie nie ma vnet, w ktorym chcesz utworzyc Bastion – sprawdz, czy bastion jest tworzony w tym samym regionie, co VLAN
– pojawia sie komunikat o braku podsieci AzureBastionSubnet – no to upewnij sie czy ona jest, czy ma dobra nazwe i maske podsieci
https://docs.microsoft.com/en-us/azure/bastion/tutorial-create-host-portal
2021-11-27
Nie kazdy serwer musi pelnic role serwera. Zdarzaja sie maszyny, ktore pracuja po prostu jako klient. W przypadku postgresql wymagane bedzie wtedy zainstalowanie narzedzi klienckich.
Swietnie sie zapowiadajace polcenie:
sudo apt install postgresql-client-common
moze jednak sprawic niespodzianke. Po probie polaczenia mozna otrzymac blad:
Error: You must install at least one postgresql-client-<version> package
O co chodzi? Ten pakiet zawiera tylko linki do innych juz wczesniej zainstalowanych binariow. Pewnie fajnie sie sprawdzi, jesli na danym serwerze bylo by zainstalowanych kilka clustrow postgresql, a ty pracujac z nimi preferujesz wybrac tylko jedna wersje klienta. Ale my na poczatku zalozylismy, ze system jest „goly” – nie ma na nim postgresql server. Co zrobic? Trzeba samodzielnie zdecydowac sie na wersje, ktora bedzie wykorzystywana i uruchomic np.:
sudo apt -y install postgresql-client-12
Teraz mozna juz bedzie polaczyc sie do postgresql:
psql "host=**** port=5432 dbname=postgres user=**** password='****' sslmode=require"
https://stackoverflow.com/questions/28290488/get-error-you-must-install-at-least-one-postgresql-client-version-package-whe
2021-11-21
Tyle razy tego szukałem… że chyba lepiej będzie zapamiętać ten link też tutaj. Uprawnienia z podziałem na zasoby, które można tworzyć w Azure:
https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftkeyvault
2021-11-19
Systemy Linux slyna z tego, ze cala administracja moze byc na nich wykonywana zdalnie przez linie polecen. Co zrobic, jesli maszyna powstala z mysla o uruchamianiu programow wykorzystujacych GUI?Np uruchamiania Visual Studio Code?
Z pomoca moze przyjsc pakiet xrdp
Instalacja jest prosta:
sudo apt install xrdp
sudo systemctl enable --now xrdp
sudo ufw allow from any to any port 3389 proto tcp
Potem, na stacji windows, mozna uruchomic „Remote Desktop Client”, podac adres serwera Linux, nazwe uzytkownika haslo i gotowe! No prawie… jesli na serwerze jest juz uruchomione srodowisko graficzne lokalnie, to polaczenie moze sie skonczyc czarnym ekranem. Warto wiec wylaczyc uruchamianie sesji graficznej na serwerze. Mozna to zrobic przez modyfikacje target systemctl znana tez czasami jako run-level
Polecenie
systemctl get-default
wyswietla akualny target. Zeby go zmienic na multi-user bez grafiki, ale z uruchomionymi pozostalymi uslugami posluz sie:
sudo systemctl set-default multi-user.target
Potem mozna przelaczys sie manualnie miedzy target porzez opcje isolate dla systemctl, ale restart tez pomoze.
Od tej porty serwer startuje sobie w interfejsie tekstowym, a xrdp pozwala na polaczenie sie do maszyny zdalnie przez interfejs graficzny
https://linuxconfig.org/ubuntu-20-04-remote-desktop-access-from-windows-10
2021-11-16
Podczas instalcji VIM pojawia się błąd:
Testing changes… Failed to install packages: Error running transaction: file /usr/share/man/man1/vim.1.gz from install of vim-common-2:7.4.1868-1.fc22.x86_64 conflicts with file from vim-minimal-2:7.4.640-4.fc22.x86_64
Pomaga uruchomienie:
sudo yum update vim-minimal
sudo yum install vim-enhanced
a to tylko jedno z rozwiązań z https://unix.stackexchange.com/questions/119310/transaction-check-error-in-installing-vim
2021-10-29
Niby prosta rzecz, ale wymaga grzebania w konfiguracji GRUB. Ponieważ modyfikacja pliku jest zastrzeżona dla administratora pamiętaj o sudo:
sudo vi /etc/default/grub
Tutaj trzeba poprawić jedną linijkę:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"
Po zapisaniu pliku, trzeba zastosować zmianę:
sudo update-grub
Po restarcie – rozdzielczość się zmieni:
sudo reboot
2021-10-17
Jest sobie w shellu polecenie uniq. Zgodnie z opisem w man:
uniq - report or omit repeated lines
Wydawałoby się więc, że przesłanie wyniku polecenia, które generuje jakieś tam wiersze danych, powinno zwrócić tylko unikalne dane. Np.
head /etc/passwd | cut -d : -f7
zwraca informacje o skonfigurowanych shellach dla kilku początkowych użytkowników z pliku /etc/passwd. (Screen poniżej)
Kiedy prześlemy dane do uniq, to wydaje sie, że wynikiem powinny być unikalne shelle:
head /etc/passwd | cut -d : -f7 | uniq
Jednak tak nie jest. Dlaczego? Wystarczy zajrzeć do man-a ponownie, a tam stoi jak byk:
Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).
kluczowe słowo to „adjacent” – 2 linijki zostaną potraktowane jako dublujące się, gdy stoją obok siebie. Jeśli między nimi jest jakaś inna linijka, to uniq nie usunie powtarzającej się kopii, no chyba że…. użyjesz opcji -u:
head /etc/passwd | cut -d : -f7 | uniq -u
Wszystko to widać ładnie na obrazku poniżej: