Jak zarządzać połączeniami przez SSH

Opublikowano: 20.04.2021 - tagi: SSH Linux Komenda Zarządzanie

Klasyczne połączenie się z serwerem przez SSH w terminalu wygląda tak:

ssh user@host

A co jeśli możnaby ten zapis skrócić? Na przykład do takiej postaci:

ssh myserver

Nie trzeba pamiętać nazwy użytkownika i hosta, wystarczy skrót.

Można to zrobić, w bardzo prosty sposób. SSH posiada plik konfiguracyjny o nazwie: config. W Ubuntu znajduje się on, w ścieżce:

~/.ssh/config

Zedytujmy ten plik:

nano ~/.ssh/config

Wpisujemy dane:

host myserver
    hostname: 123.123.11.22
    user john

W pierwszej linijce podajemy nazwę skrótu, którym będziemy się posługiwać przy połączeniu. W drugiej linijce wpisujemy adres hosta, a w trzeciej nazwę użytkownika na jakiego chcemy się zalogować.

Teraz możemy napisać w terminalu:

ssh myserver

Uwaga: Upewnij się że Twój klucz publiczny znajduje się na serwerze z którym zamierzasz się połączyć.


Webstorm: Git i podgląd schowka

Opublikowano: 18.04.2021 - tagi: Webstorm Git Narzędzie IDE Schowek

Podgląd schowka

Webstorm posiada bardzo wygodną funkcjonalność do podglądu tego, co znajduje się w schowku(ang.: stash) Gita.

Załóżmy, że masz w schowku jakiś kod. Chcesz wiedzieć co aktualnie się tam znajduje. Lub przełączasz się między gałęźami(ang.: branches) i w pewnym momencie chcesz użyć tylko niektórych fragmentów kodu na aktualnej gałęzi. Wszystko to można uzyskać, w szybki sposób za pomocą Webstorma.

W tym wpisie przedstawię jak obsłużyć schowek od strony GUI, a nie za pomocą komend :)

Z menu wybieramy: Git -> Uncommitted Changes -> Unstash changes...

Podgląd schowka Git w Webstorm lista

Jeśli coś znajduje się w schowku zostanie to wyświetlone na liście.

Żeby sprawdzić co jest, w schowku wybieramy element z listy i klikamy opcję View. Wyświetli się lista zedytowanych plików. Wystarczy dwukrotnie kliknąć w dany plik aby sprawdzić, co tam się znajduje.

Podgląd schowka Git w Webstorm edytor

Za pomocą edytora możemy wybrać interesujące nas fragmenty lub wszystkie zmiany.


PM2: Jak uruchomić skrypt działający w tle

Opublikowano: 15.04.2021 - tagi: PM2 Skrypt Komenda NodeJS Narzędzie Serwer Proces npm

Od dłuższego czasu korzystam z narzędzia do zarządzania procesami na swoim serwerze o nazwie: PM2 Służy to na: uruchomienie skryptów działających w tle, monitoring procesów lub podgląd logów i wiele więcej.

W tym wpisie opisuję podstawy które wystarczą do korzystania z tego narzędzia.

Instalacja

Żeby zacząć pracę z PM2 wystarczy uruchomić komendę(tutaj podaję przykład instalacji za pomocą npm):

npm install pm2 -g

Podstawy

Poniżej przedstawiam listę przydatnych komend na początek:

Wyświetlenie listy uruchomionych procesów

pm2 list

Z racji że aktualnie nie mamy żadnego działajacego skryptu lista ta będzie pusta.

Uruchomienie skryptu

pm2 start some-script.sh

Bonus: jak uruchomić skrypt z pliku package.json(npm)? Załóżmy że mamy plik package.json o takiej treści:

...
"scripts": {
  "server-start": "NODE_ENV=prod node server/server.js"
},
...

I chcemy uruchomić skrypt o nazwie server-start piszemy:

pm2 start npm --name "my-script" -- run server-start

Co tutaj się dzieje? Po pierwsze informujemy pm2 że chcemy uruchomić skrypt i że znajdzie go w pliku: package.json. Następnie nadajemy naszemu procesowi nazwę: my-script na końcu wskazujemy który skrypt z pliku package.json chcemy uruchomić.

Inne pomocne komendy

PM2 dysponuje całą listą komend poniżej znajdziesz listę kilku innych pomocnych wywołań. Przy niemal każdej z poniższych komend możemy podać id lub nazwę(którą podaliśmy, w trakcie uruchomienia skryptu) procesu.

Żeby zatrzymać proces piszemy:

pm2 stop name | id

Usunięcie procesu z listy(jeśli proces jest uruchomiony, to zostanie także zatrzymany):

pm2 delete name | id

Restart procesu:

pm2 restart name | id 

Żeby pobrać całą listę dostępnych komend wystarczy wywołać:

pm2 --help

Jak zablokować logowanie przez SSH dla roota?

Opublikowano: 08.04.2021 - tagi: SSH Komenda Linux Logowanie Bezpieczeństwo Serwer

Problem

Każdy kto miał do czynienia Linuxem wie(lub przynajmniej powinien wiedzieć), że istnieje specjalne konto w systemie o nazwie: root. Logując się na to konto użytkownik ma dostęp do praktycznie wszystkiego w systemie operacyjnym.

Wyobraź sobie, że ktoś próbuje włamać się na Twój serwer na konto root'a poprzez metodę brute force. Udana próba oznacza oczywiście dla ofiary coś nie miłego.

Dlatego warto wyłączyć możliwość logowania się na serwer przez konto root. W poniższym wpisie przedstawię jak można to zrobić w łatwy sposób.

Uwaga: Zanim wyłączysz możliwość logowania się przez root'a upewnij się że masz inne konto za pomocą którego będziesz mieć uprawnienia root.

Rozwiązanie

Żeby zablokować logowanie się na konto root'a wystarczy wywołać dwie komendy.

Najpierw musimy zedytować plik konfiguracyjny SSH:

sudo nano /etc/ssh/sshd_config

W edytowanym pliku szukamy następującej linijki:

#PermitRootLogin no

Usuwamy znak: #. Oznacza on że dana linijka jest zakomentowana czyli nie będzie brana pod uwagę. Ostatecznie powinno to wyglądać tak:

PermitRootLogin no

Ostatni krok to zrestartowanie SSH za pomocą:

sudo service ssh restart

Od tej pory użytkownik nie będzie mógł się zalogować na serwer poprzez konto root:

ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.

Start bloga

Opublikowano: 01.04.2021 - tagi: Blog

Na tym blogu będę zamieszczać wpisy głównie na temat programowania, ale nie tylko. Jedną z motywacji do prowadzenia bloga jest dla mnie dzielenie się wiedzą z innymi. Własny blog daje także większą mobilizację do nauki nowych rzeczy.

Będę tutaj także opisywał postępy prac nad swoimi projektami. W założeniach nie będzie to blog głównie techniczny zamierzam pisać teksty na takie tematy jak: umiejętności miękkie.

Z racji, że nie mam większego doświadczenia w pisaniu tekstów to także okazja dla mnie do nabycia nowej umiejętności!

Pierwszym celem w mojej przygodzie blogowania będzie stworzenie nawyku regularnego pisania postów :)