Pracuję na systemie Solaris i chociaż od dłuższego czasu używam poleceń ssh, sftp i su, nigdy nie do końca zrozumiałem, jak działają. Proszę wyjaśnić i skierować mnie w stronę dobrych zasobów, w których mogę dowiedzieć się więcej.
Srikanth,
Odpowiedzi:
26
Protokół SSH jest określony przez to, co akceptują programy sshi sshd. (Jest dla niego zdefiniowany standard, ale jest to kwestia po fakcie i jest najczęściej ignorowany, gdy jedna z implementacji dodaje nowe funkcje.) Ponieważ istnieje wiele implementacji tych (OpenSSH, F-Secure, PuTTY itp. ) czasami okazuje się, że jeden z nich nie obsługuje tego samego protokołu, co inne. Zasadniczo definiuje negocjację uwierzytelnienia i tworzenie multipleksowanego strumienia danych. Ten strumień może przenosić jeden lub więcej (z OpenSSH iControlMaster) sesje terminali i zero lub więcej tuneli (połączenia gniazd przesyłania dalej z lokalnego lub zdalnego na drugą stronę; przekazywanie X11 jest szczególnym przypadkiem zdalnego przesyłania). Definiuje także „podsystemy”, które można wykorzystywać w strumieniu; sesje terminalowe są podstawowym podsystemem, ale można zdefiniować inne. sftpjest jednym z nich.
sshnarzędzie korzysta z protokołu SSH, aby rozmawiać z sshdinnym komputerem. Jak to działa, zależy od wersji (patrz wyżej), ale jego sedno polega na tym, że próbuje dowiedzieć się, której wersji protokołu SSH użyć, a następnie sshdwynegocjować obsługiwane metody uwierzytelniania, a następnie próbuje uwierzytelnić się przy użyciu jedna z tych metod (w razie potrzeby prośba o hasło użytkownika zdalnego / hasło klucza prywatnego / frazę klucza S), a po udanym uwierzytelnieniu konfiguruje multipleksowany strumień z sshd.
sshd, jak wspomniano powyżej, implementuje stronę serwera protokołu SSH.
sftpjest (obecnie jedynym standardowym) podsystemem zdefiniowanym w większości sshdwdrożeń. Gdy żądany jest podsystem SFTP, sshdłączy sftp-serversię z sesją podsystemu; sftpProgram następnie mówi do niego, podobnie ftp, ale z transferu plików multipleksowany strumień zamiast korzystania z oddzielnych połączeń jak ftp.
sunie ma nic wspólnego z ssh, sshdlub sftp, z wyjątkiem przypadku, gdy nie mogą być moduły PAM zorganizować dla multipleksowany strumień będzie dostępna w skorupkach lub przebiegu programu przez nią.
Cholera, uderz mnie jeszcze raz. Niezwykle wyczerpująca odpowiedź - pozytywnie oceniany.
Shadur
9
SSH (skrót od „Secure SHell”) to protokół sieciowy opisany w RFC4251 . sshnarzędziem jest klient SSH, który łączy się z demonem SSH i przedstawia użytkownikowi „Bezpieczny SHell”. SFTP to protokół podobny do FTP, który działa przez połączenie SSH.
supolecenie nie używa sshani sshdw żaden sposób, po prostu pozwala uruchamiać procesy z różnymi uprawnieniami.
SSH to protokół do bezpiecznej komunikacji w niezabezpieczonej sieci. Pozwala to na szyfrowanie od końca do końca całej komunikacji, tak że nie można (wykonalnie) przechwycić i wyczyścić.
Narzędzie ssh jest implementacją protokołu. SFTP to podsystem ssh, który używa protokołu do bezpiecznego hasła i przesyłania plików.
Spójrz na projekt OpenSSH . Ma wszystkie informacje, których szukasz.
W skrócie, protokół SSH pozwala na bezpieczne (szyfrowane) połączenie między dwoma hostami. sshNarzędzie to jest program kliencki do zalogowania się do systemu zdalnego przy użyciu protokołu SSH, a ona ma wiele innych zastosowań, też, jak [reverse] spedycja tunelowanie / port / ...
sshdto oprogramowanie serwera . Zapewnia demona, który odpowiada na przychodzące żądania SSH.
sunie ma nic wspólnego z ssh. Służy do zmiany aktywnego użytkownika (najczęstsze użycie, aby się zmienić root).
Odpowiedzi:
Protokół SSH jest określony przez to, co akceptują programy
ssh
isshd
. (Jest dla niego zdefiniowany standard, ale jest to kwestia po fakcie i jest najczęściej ignorowany, gdy jedna z implementacji dodaje nowe funkcje.) Ponieważ istnieje wiele implementacji tych (OpenSSH, F-Secure, PuTTY itp. ) czasami okazuje się, że jeden z nich nie obsługuje tego samego protokołu, co inne. Zasadniczo definiuje negocjację uwierzytelnienia i tworzenie multipleksowanego strumienia danych. Ten strumień może przenosić jeden lub więcej (z OpenSSH iControlMaster
) sesje terminali i zero lub więcej tuneli (połączenia gniazd przesyłania dalej z lokalnego lub zdalnego na drugą stronę; przekazywanie X11 jest szczególnym przypadkiem zdalnego przesyłania). Definiuje także „podsystemy”, które można wykorzystywać w strumieniu; sesje terminalowe są podstawowym podsystemem, ale można zdefiniować inne.sftp
jest jednym z nich.ssh
narzędzie korzysta z protokołu SSH, aby rozmawiać zsshd
innym komputerem. Jak to działa, zależy od wersji (patrz wyżej), ale jego sedno polega na tym, że próbuje dowiedzieć się, której wersji protokołu SSH użyć, a następniesshd
wynegocjować obsługiwane metody uwierzytelniania, a następnie próbuje uwierzytelnić się przy użyciu jedna z tych metod (w razie potrzeby prośba o hasło użytkownika zdalnego / hasło klucza prywatnego / frazę klucza S), a po udanym uwierzytelnieniu konfiguruje multipleksowany strumień zsshd
.sshd
, jak wspomniano powyżej, implementuje stronę serwera protokołu SSH.sftp
jest (obecnie jedynym standardowym) podsystemem zdefiniowanym w większościsshd
wdrożeń. Gdy żądany jest podsystem SFTP,sshd
łączysftp-server
się z sesją podsystemu;sftp
Program następnie mówi do niego, podobnieftp
, ale z transferu plików multipleksowany strumień zamiast korzystania z oddzielnych połączeń jakftp
.su
nie ma nic wspólnego zssh
,sshd
lubsftp
, z wyjątkiem przypadku, gdy nie mogą być moduły PAM zorganizować dla multipleksowany strumień będzie dostępna w skorupkach lub przebiegu programu przez nią.źródło
SSH (skrót od „Secure SHell”) to protokół sieciowy opisany w RFC4251 .
ssh
narzędziem jest klient SSH, który łączy się z demonem SSH i przedstawia użytkownikowi „Bezpieczny SHell”. SFTP to protokół podobny do FTP, który działa przez połączenie SSH.su
polecenie nie używassh
anisshd
w żaden sposób, po prostu pozwala uruchamiać procesy z różnymi uprawnieniami.źródło
SSH to protokół do bezpiecznej komunikacji w niezabezpieczonej sieci. Pozwala to na szyfrowanie od końca do końca całej komunikacji, tak że nie można (wykonalnie) przechwycić i wyczyścić.
Narzędzie ssh jest implementacją protokołu. SFTP to podsystem ssh, który używa protokołu do bezpiecznego hasła i przesyłania plików.
su nie używa protokołu ssh.
źródło
Spójrz na projekt OpenSSH . Ma wszystkie informacje, których szukasz.
W skrócie, protokół SSH pozwala na bezpieczne (szyfrowane) połączenie między dwoma hostami.
ssh
Narzędzie to jest program kliencki do zalogowania się do systemu zdalnego przy użyciu protokołu SSH, a ona ma wiele innych zastosowań, też, jak [reverse] spedycja tunelowanie / port / ...sshd
to oprogramowanie serwera . Zapewnia demona, który odpowiada na przychodzące żądania SSH.su
nie ma nic wspólnego z ssh. Służy do zmiany aktywnego użytkownika (najczęstsze użycie, aby się zmienićroot
).źródło