Przejdź do głównej zawartości

Połączenie przez SSH

VPS Pro otwiera się Państwa kluczem SSH: to para plików utworzona na Państwa komputerze, z której część publiczną zapisują Państwo w panelu klienta. Część prywatna pozostaje na komputerze i nie jest nikomu przekazywana, także naszemu zespołowi.

Utworzenie klucza​

W systemach macOS, Linux oraz Windows 10 lub 11 (PowerShell lub Terminal) wystarczy jedno polecenie:

ssh-keygen -t ed25519

Proszę zaakceptować proponowaną lokalizację i wybrać hasło chroniące klucz. W folderze .ssh Państwa konta pojawią się dwa pliki:

  • id_ed25519: klucz prywatny, który pozostaje u Państwa;
  • id_ed25519.pub: klucz publiczny, ten, który Państwo zapisują. Mieści się w jednym wierszu zaczynającym się od ssh-ed25519.

Aby wyświetlić klucz publiczny i go skopiować:

cat ~/.ssh/id_ed25519.pub

Zapisanie klucza w panelu klienta​

  1. Otworzyć my.simafri.com, sekcja VPS.
  2. Na karcie serwera wkleić klucz publiczny w polu Państwa klucze publiczne, po jednym w wierszu.
  3. Kliknąć Zapisz klucze.

Klucz zostaje zainstalowany na serwerze w ciągu minuty, a karta to pokazuje: Zainstalowane na serwerze, a po tym data, wraz z odciskiem każdego klucza (SHA256:..., takim samym jak ten, który wyświetla ssh-keygen -lf ~/.ssh/id_ed25519.pub). Klucz zapisany w trakcie przygotowania serwera zostaje zainstalowany przy jego tworzeniu.

Warto wiedzieć:

  • do 10 kluczy na serwer, po jednym na osobę lub komputer;
  • akceptowane typy: ed25519, RSA o długości co najmniej 2048 bitów, ECDSA oraz sprzętowe klucze bezpieczeństwa (sk-ssh-ed25519, sk-ecdsa); akceptowany jest też format PuTTYgen;
  • każde zapisanie zastępuje cały zestaw zapisanych kluczy: proszę wkleić wszystkie, które mają zostać;
  • klucze zapisują właściciel konta i menedżerowie; operator może je przeglądać (patrz Członkowie i role).

Klucze zapisane w panelu klienta zajmują własny blok w pliku /root/.ssh/authorized_keys, między dwoma wierszami znacznikowymi my.simafri.com. Reszta pliku należy do Państwa: klucz dodany tam samodzielnie, poza tym blokiem, pozostaje na miejscu.

Połączenie​

Karta serwera wyświetla polecenie Połączenie SSH, gotowe do skopiowania:

ssh -p 22101 root@203.0.113.10

Port, z zakresu od 22100 do 22999, jest właściwy dla Państwa serwera: proszę używać tego z karty. Zamiast adresu działa też nazwa serwera:

ssh -p 22101 root@app.moja-firma.pl

W przypadku serwera, którego nazwa należy do Państwa własnej domeny, nazwa ta odpowiada, gdy tylko rekord DNS wskazuje na serwer (patrz Publikacja strony lub aplikacji).

Przez IPv6​

Jeśli Państwa łącze internetowe obsługuje IPv6, mogą Państwo łączyć się z serwerem także bezpośrednio przez jego adres IPv6, wyświetlany na karcie, na standardowym porcie SSH:

ssh root@2001:db8::101

Skrót: plik ~/.ssh/config​

Aby nie wpisywać za każdym razem portu i adresu, proszę dodać blok do pliku ~/.ssh/config:

Host monvps
HostName app.moja-firma.pl
Port 22101
User root
IdentityFile ~/.ssh/id_ed25519

Od tej chwili wystarczy ssh monvps, a ten sam skrót działa w scp, rsync, git i Państwa edytorze.

Z systemu Windows​

Windows 10 i 11 mają wbudowanego klienta OpenSSH: proszę otworzyć PowerShell lub Terminal i wkleić polecenie z karty. Plik skrótów znajduje się w C:\Users\<nazwa użytkownika>\.ssh\config.

W PuTTY proszę wpisać adres i port z karty w Session, użytkownika root w Connection > Data, a klucz prywatny w formacie .ppk w Connection > SSH > Auth > Credentials. Klucz publiczny wyświetlany przez PuTTYgen zapisuje się w panelu klienta bez zmian.

Przesyłanie plików​

Z tym samym portem i tym samym kluczem:

# jeden plik, na serwer
scp -P 22101 archive.tar.gz root@app.moja-firma.pl:/srv/

# folder, synchronizowany
rsync -avz -e "ssh -p 22101" ./build/ root@app.moja-firma.pl:/var/www/app/

scp przyjmuje port z wielką literą P. Programy SFTP, takie jak FileZilla czy WinSCP, łączą się przez SFTP, z adresem, portem i kluczem prywatnym z Państwa komputera.

Praca z poziomu edytora​

Rozszerzenie Remote - SSH do Visual Studio Code otwiera foldery serwera tak, jakby były na Państwa komputerze: odczytuje plik ~/.ssh/config, wystarczy wybrać monvps. Edytory JetBrains oferują to samo połączenie przez Remote Development.

Udostępnienie dostępu współpracownikowi​

Są dwa sposoby, zależnie od tego, co chcą Państwo powierzyć tej osobie:

  • dostęp administratora: proszę dodać jej klucz publiczny obok swojego w polu Państwa klucze publiczne, po jednym w wierszu, a następnie kliknąć Zapisz klucze;
  • dostęp ograniczony: proszę utworzyć jej konto na serwerze, z jej własnym kluczem:
adduser camille
mkdir -p /home/camille/.ssh
nano /home/camille/.ssh/authorized_keys # proszę wkleić klucz publiczny tej osoby
chown -R camille:camille /home/camille/.ssh
chmod 700 /home/camille/.ssh && chmod 600 /home/camille/.ssh/authorized_keys

Aby odebrać dostęp, proszę zapisać listę kluczy bez klucza tej osoby albo usunąć jej konto poleceniem deluser camille.

Zastąpienie utraconego klucza​

Zmienili Państwo komputer albo klucz prywatny zniknął: proszę utworzyć nowy klucz poleceniem ssh-keygen -t ed25519, a następnie zapisać nowy klucz publiczny na karcie, usuwając stary. Zostanie zainstalowany w ciągu minuty i odzyskają Państwo dostęp do serwera.

Państwa asystent AI​

Asystent AI podłączony do Państwa panelu klienta Simafri (serwer MCP https://mcp.simafri.com/v1/mcp) odczytuje Państwa serwery, ich stan, adresy i polecenie połączenia oraz zapisuje za Państwa klucze publiczne, z uprawnieniami zalogowanej osoby. Klucz prywatny jest tam odrzucany, tak jak w panelu klienta.

Najczęstsze pytania​

„Permission denied (publickey)”: co sprawdzić?​

  1. Karta serwera pokazuje Zainstalowane na serwerze, a po tym datę.
  2. Odcisk wyświetlany na karcie jest odciskiem Państwa klucza: ssh-keygen -lf ~/.ssh/id_ed25519.pub.
  3. Polecenie wskazuje port z karty i użytkownika root.
  4. Jeśli klucz ma inną nazwę, należy go wskazać: ssh -i ~/.ssh/ma_cle -p 22101 root@....

Następnie prosimy opisać sytuację wsparciu, podając uruchomione polecenie i otrzymany komunikat: Kompleksowe wsparcie pomoże przywrócić dostęp.

Połączenie zrywa się, gdy jestem nieaktywny.​

Proszę dodać ServerAliveInterval 60 do swojego bloku w ~/.ssh/config: komputer będzie podtrzymywał połączenie. Długie polecenie warto uruchomić w tmux lub screen, które utrzymują je przy życiu nawet po rozłączeniu.

Panel klienta pokazuje „Ten tekst zawiera klucz PRYWATNY”.​

Wklejono plik bez .pub. Proszę wkleić zawartość pliku, który kończy się na .pub. Jeśli klucz prywatny został przez pomyłkę komuś wysłany, proszę utworzyć nowy i zapisać jego klucz publiczny.

Czy mogę łączyć się hasłem?​

Serwer otwiera się kluczem SSH, najbezpieczniejszą metodą: klucza nie da się odgadnąć i nigdy nie jest on przesyłany. Proszę zapisać jeden klucz na osobę, a każda zachowa własny dostęp.