Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ssh][php]Zasada działania SSH. Tylko przez konsole?
Forum PHP.pl > Forum > Przedszkole
luis2luis
Witam.

Oglądam już 6 kurs o wysyłąniu plików w tym php na serwer za poomocą SSH i tak naprawde nie wiem dalej jak zacząć.
Podstawowe pytania. Czy SSH można używać tylko w konsoli? Programem zwykłym do przegrywania plików już nie można?

Jest jeden klucz, który zostaje na serwerze i drugi który mam u siebie na komputerze, może być zabezpieczony hasłem. Klucze te generuje poprzez program/aplikacje np online lub na komputerze lokalnym i wgrywam do katalogu SSH na serwerze?

3. Na konsoli, żeby mieć dostęp do SSH to musze zainstalować np GIT, kóry ma obsługe SSH również?
nospor
Cytat
Czy SSH można używać tylko w konsoli? Programem zwykłym do przegrywania plików już nie można?

Jest tez inny protokol zwany FISH. Zazwyczaj jak jest wlaczone ssh to jest i wlaczone fish. Dzieki fish mozesz laczyc sie z takim serwerem normalnie przez programy przegrywajace pliki (krusader, total commander, czy inne)

Przez ssh mozesz sie polaczyc bez kluczy. Pytany jestes wtedy o haslo. Jesli chcesz sie laczyc przez ssh bez hasel, to tak, wgrywasz na serwer swoj klucz publiczny

git to git, a ssh to ssh. Dwa niezalezne twory ktore dzialaja jeden bez drugiego, Oczywiscie na serwerze moze byc zainstalowany git i wtedy po polaczeniu sie przez ssh moze tego git uzywac. ssh generalnie powoduje, ze pracujesz na serwerze jakbys pracowal lokalnie na swoim kompie
vokiel
Cytat(luis2luis @ 9.06.2020, 16:01:39 ) *
Podstawowe pytania. Czy SSH można używać tylko w konsoli? Programem zwykłym do przegrywania plików już nie można?


Zależy jaki program masz na myśli. Możesz przesyłać pliki przez scp, rsync czy też przy użyciu SFTP. Ten ostatni to jest FTP over SSH - czyli użycie protokołu FTP poprzez tunel SSH. W tym przypadku możesz użyć np FileZilla, TotalCommander, Krusader czy cokolwiek innego wspiera ten protokół. Co do samego SSH to generalnie tak - zwykle używa się w konsoli.

Cytat(luis2luis @ 9.06.2020, 16:01:39 ) *
Jest jeden klucz, który zostaje na serwerze i drugi który mam u siebie na komputerze, może być zabezpieczony hasłem. Klucze te generuje poprzez program/aplikacje np online lub na komputerze lokalnym i wgrywam do katalogu SSH na serwerze?


Tak, tak działa komunikacja oparta na klucze, czy to SSH czy HTTPS, GPG, FTPS itd. Cała kryptografia asymetryczna w zasadzie działa na zasadzie że jest klucz prywatny i klucz publiczny. Jednym się podpisuje, drugim się deszyfruje. W przypadku SSH wysyłasz na serwer swój klucz publiczny i serwer nim szyfruje komunikację z Tobą, a Ty swoim kluczem prywatnym ją deszyfrujesz i podobnie w drugą stronę - przy połączeniu pobierasz klucz publiczny serwera i nim szyfrujesz z nim komunikację, którą on odszyfrowuje swoim kluczem prywatnym.

Cytat(luis2luis @ 9.06.2020, 16:01:39 ) *
3. Na konsoli, żeby mieć dostęp do SSH to musze zainstalować np GIT, kóry ma obsługe SSH również?

Tak jak @nospor napisał, GIT może działać bez SSH, SSH bez gita. Nie są ze sobą na stałe związane. GIT obsługuje wiele protokołów, począwszy od lokalnego (file://), przez HTTP(s) (https://github.com/torvalds/linux.git), czy też SSH (git@github.com:torvalds/linux.git). Także owszem, można używać GITa poprzez SSH ale są też inne protokoły. W drugą stronę, SSH to standard protokołów komunikacyjnych (następca nieszyfrowanego Telneta), który z GITem nie ma nic wspólnego, poza tym, że GIT może z niego korzystać w komunikacji ze zdalnym repozytorium.
gino
żeby doprecyzować do końca, bo zdaje się, że pomyliłeś trochę pojęcia: ssh jest protokołem transmisji danych, tych protokołów jest trochę: ssl wykorzystywany w protokole https, stary, mało popularny już telnet (nieszyfrowany, którego następcą jest właśnie ssh), protokoły przesyłu plików scp, sftp, natomiast git jest programem napisanym w m.in. w C i z tego protokołu może korzystać. A żeby jeszcze uściślić to nazwą ssh określa się czasem całą rodzinę szyfrowanych protokołów. Takie reminiscencje z uczelni.

gino
luis2luis
Cytat(gino @ 11.06.2020, 21:51:00 ) *
żeby doprecyzować do końca, bo zdaje się, że pomyliłeś trochę pojęcia: ssh jest protokołem transmisji danych, tych protokołów jest trochę: ssl wykorzystywany w protokole https, stary, mało popularny już telnet (nieszyfrowany, którego następcą jest właśnie ssh), protokoły przesyłu plików scp, sftp, natomiast git jest programem napisanym w m.in. w C i z tego protokołu może korzystać. A żeby jeszcze uściślić to nazwą ssh określa się czasem całą rodzinę szyfrowanych protokołów. Takie reminiscencje z uczelni.

gino


1. Zaczyna coś świtać. Rozmawiałem z administratorem NQ, mówił, że połaczenie przez ssh jest bardzo proste:

Cytat
Do połączenia należy użyć konta i hasła tego samego co do FTP. Numer portu do SSH standardowy: 22. Adres hosta SSH: MOJ_SERWER.nq.pl


Założyłem na serwerze konto o nazwie "ftp_testt.MOJ_SERWER" z hasłem "Testowe", jednak otrzymuje ACCESS DENIED w aplikacji PuTTy.

2. Wracając do kwestii kluczy prywatnych i publicznych. na serwerze mam katalog .ssh i tam umieszczam plik z kluczem.
Klucz taki daje dostęp do całej zawartości serwera? Czy jednak aby zaczął działać muszę w Panelu administratora dodać nowego użytkownika i tam ustalić do których katalogów ma dostęp. Wtedy za pomocą tego loginu i klucza na swoim komputerze loguje się?
Pyton_000
klucze generujesz u siebie np. id_rsa (klucz prywatny - chronić !) i id_ras.pub (klucz publiczny)
zawartość pliku id_rsa.pub wrzucasz do pliku ~/.ssh/authorized_keys

Po takim zabiegu możesz łączyć się z serwerem z każdego miejsca w którym będziesz miał plik id_rsa
luis2luis
Cytat(Pyton_000 @ 23.08.2020, 11:20:19 ) *
klucze generujesz u siebie np. id_rsa (klucz prywatny - chronić !) i id_ras.pub (klucz publiczny)
zawartość pliku id_rsa.pub wrzucasz do pliku ~/.ssh/authorized_keys

Po takim zabiegu możesz łączyć się z serwerem z każdego miejsca w którym będziesz miał plik id_rsa



Czy mam wtedy dostęp do całej zawartości serwera za pomocą tych kluczy?
Aby ustawic dostęp TYLKO do wybranych katalogów to muszę łączyć się NIE za pomocą tych kluczy, tylko na serwerze pozakładać konto i włączyć funkcje SSH?
Pyton_000
Klucz SSH daje Ci dostęp do konta do którego jest podłączone i daje dostęp do tego do czego ma dane konto na serwerze. Zależy co chcesz osiagnąć.
SmokAnalog
Doskonale rozumiem pytanie w temacie. Kiedyś też nie rozumiałem jak się używa różnych protokołów, bo tutoriale zawsze podawały jeden przykład użycia. Duży skok w rozumieniu technologii daje uświadomienie sobie czym jest protokół. Protokół to jakiś zestaw umownych reguł i tyle. Dana aplikacja przestrzega tych reguł, w różnym stopniu prawidłowo, żeby móc współpracować z innymi aplikacjami lub danymi. Konsola jest w tym przypadku tylko jednym z możliwych zastosowań SSH, zresztą SSH w konsoli też używa jakiegoś programu, żeby móc się łączyć (czyli przestrzegać reguł SSH i pokazywać nam rezultat na wyjściu).

Baaardzo dużo dało mi podobne spojrzenie na protokół HTTP. Zestaw reguł. Tylko tyle.
luis2luis
Cytat(SmokAnalog @ 25.08.2020, 16:37:35 ) *
Doskonale rozumiem pytanie w temacie. Kiedyś też nie rozumiałem jak się używa różnych protokołów, bo tutoriale zawsze podawały jeden przykład użycia. Duży skok w rozumieniu technologii daje uświadomienie sobie czym jest protokół. Protokół to jakiś zestaw umownych reguł i tyle. Dana aplikacja przestrzega tych reguł, w różnym stopniu prawidłowo, żeby móc współpracować z innymi aplikacjami lub danymi. Konsola jest w tym przypadku tylko jednym z możliwych zastosowań SSH, zresztą SSH w konsoli też używa jakiegoś programu, żeby móc się łączyć (czyli przestrzegać reguł SSH i pokazywać nam rezultat na wyjściu).

Baaardzo dużo dało mi podobne spojrzenie na protokół HTTP. Zestaw reguł. Tylko tyle.


Dziękuję za podpowiedzi.

Proszę o informacje, czy dobrze rozumie.

W kursie o SSH mówili, że uwierzytelniać można się za pomocą KLUCZA SSH lub za pomocą loginu i konta serwerowego jeżeli serwer ma włączone SSH i na to pozwala.

Protokół SSH daje możliwość sterowania serwerem. Czyli mogę wykonywać bardzo dużo różnych operacji, dużo więcej niż FTP. Poprzez SSH tak samo jak w FTP możemy również wgrywać pliki/katalogi , jednak za pomocą terminala, linii poleceń w tym również za pomocą GIT'a.

Pliki z Kluczem prywatnym i publicznym SSH daje pełen dostęp do serwera? Czyli jak ktoś zdobędzie mój plik z kluczem to będzie mógł z serwerem zrobić sporo niebezpiecznych operacji.

Dostęp po SSH za pomocą loginów i haseł zdefiniowanych na serwerze pozwala na ograniczenie danemu użytkownikowi dostęp do wybranych katalogów i praw wykonywania operacji? Logowanie w lini poleceń jest troszke trudniejsze, bo trzeba wtedy hasło podawać za każdym razem ręcznie.
vokiel
Co do autoryzacji to tak - może być login + hasło lub klucz. Klucz z reguły jest bezpieczniejszy (chyba, że masz odpowiednio dłuuuugie hasło).

FTP służy do transferu plików na/z serwera. I tylko do tego, nie możesz za jego pomocą wykonywać komend na serwerze. Masz tylko (autoryzowany) sposób na przesłanie/pobranie plików.

SSH jest to w skrócie protokół do łączenia zdalnego do serwera, po zalogowaniu możesz zrobić na serwerze wszystko to co byś mógł zrobić siedząc przy nim przy klawiaturze. SSH dodatkowo pozwala na przekierowania portów, czy z SCP/SFTP - na transfer plików.
luis2luis
Cytat(vokiel @ 4.09.2020, 11:56:26 ) *
Co do autoryzacji to tak - może być login + hasło lub klucz. Klucz z reguły jest bezpieczniejszy (chyba, że masz odpowiednio dłuuuugie hasło).

FTP służy do transferu plików na/z serwera. I tylko do tego, nie możesz za jego pomocą wykonywać komend na serwerze. Masz tylko (autoryzowany) sposób na przesłanie/pobranie plików.

SSH jest to w skrócie protokół do łączenia zdalnego do serwera, po zalogowaniu możesz zrobić na serwerze wszystko to co byś mógł zrobić siedząc przy nim przy klawiaturze. SSH dodatkowo pozwala na przekierowania portów, czy z SCP/SFTP - na transfer plików.


Myślę, żeby na początku korzystać z hasła i loginu, ponieważ nie mam doświadczenia w przechowywaniu tego klucza i przekazywaniu pomiędzy urządzeniami smile.gif
Kupiłęm kurs na strefakursów o wdrażaniu Aplikacji, ale tam też ogólnie temat poruszony smile.gif

Jak mam połączenie z SSH to na początku łącze się za pomocą usera root. Jak dodam nowego usera za pomocą ssh to jest to to samo jak bym dodał usera za pomocą panelu administracyjnego w serwerowni? Czy jest to jakaś inna grupa userów?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.