Ich arbeite unter Solaris und obwohl ich die Befehle ssh, sftp und su seit einiger Zeit verwende, habe ich nie vollständig verstanden, wie sie funktionieren. Bitte erkläre und weise mich auf einige gute Ressourcen hin, wo ich mehr lernen kann.
Srikanth
Antworten:
26
Das SSH-Protokoll wird durch das definiert, was die Programme sshund sshdakzeptieren. (Es ist ein Standard dafür definiert, aber dieser ist nachträglich und wird meistens ignoriert, wenn eine der Implementierungen neue Funktionen hinzufügt.) Da es mehrere Implementierungen von diesen gibt (OpenSSH, F-Secure, PuTTY usw.). ) Gelegentlich werden Sie feststellen, dass einer von ihnen nicht dasselbe Protokoll wie die anderen unterstützt. Grundsätzlich definiert es die Authentifizierungsaushandlung und die Erstellung eines gemultiplexten Datenstroms. Dieser Stream kann einen oder mehrere (mit OpenSSH undControlMaster) Terminalsitzungen und null oder mehr Tunnel (Weiterleiten von Socket-Verbindungen von lokal oder remote auf die andere Seite; X11-Weiterleitung ist ein Sonderfall der Remote-Weiterleitung). Es definiert auch "Subsysteme", die über den Stream verwendet werden können. Terminalsitzungen sind das Basissubsystem, andere können jedoch definiert werden. sftpist einer von diesen.
sshDas Dienstprogramm verwendet das SSH-Protokoll, um sshdauf einem anderen Computer zu kommunizieren . Wie es funktioniert, hängt davon ab, um welche Version es sich handelt (siehe oben). Das Wesentliche ist jedoch, dass versucht wird, herauszufinden, welche Version des SSH-Protokolls verwendet werden soll. Anschließend werden sshdunterstützte Authentifizierungsmethoden ausgehandelt und anschließend versucht, Sie mithilfe von zu authentifizieren eine dieser Methoden (bei Bedarf nach Passwort / Paasword für privaten Schlüssel / S-Key-Phrase für entfernten Benutzer fragen) und bei erfolgreicher Authentifizierung einen gemultiplexten Stream mit dem sshd.
sshdImplementiert, wie oben erwähnt, die Serverseite des SSH-Protokolls.
sftpist ein (derzeit einziges Standard-) Subsystem, das in den meisten sshdImplementierungen definiert ist . Verbindet sshdsich sftp-servermit der Sitzung des Subsystems, wenn das SFTP-Subsystem angefordert wird . Das sftpProgramm spricht dann mit ihm, ähnlich wie ftpbei der Übertragung von Dateien, die im Stream gemultiplext werden, anstatt separate Verbindungen zu verwenden, wie bei ftp.
suhat nichts mit dem zu tun ssh, sshdoder sftp, es sei denn , soweit es PAM - Module sein kann für den Multiplexstrom innerhalb des Mantels oder Programmlauf durch sie zur Verfügung stehen zu arrangieren.
Verdammt, schlag mich noch mal. Schön umfassende Antwort - upvoted.
Shadur
9
SSH (steht für "Secure SHell") ist ein Netzwerkprotokoll, das in RFC4251 beschrieben wird . sshDas Dienstprogramm ist ein SSH-Client, der eine Verbindung zum SSH-Dämon herstellt und dem Benutzer "Secure SHell" anzeigt. SFTP ist ein FTP-ähnliches Protokoll, das über eine SSH-Verbindung funktioniert.
suBefehl verwendet sshoder sshdin keiner Weise, es ermöglicht Ihnen nur, Prozesse mit unterschiedlichen Berechtigungen auszuführen.
SSH ist ein Protokoll für die sichere Kommunikation über ein unsicheres Netzwerk. Es ermöglicht eine durchgängige Verschlüsselung der gesamten Kommunikation, so dass sie nicht (praktikabel) abgefangen und entschlüsselt werden kann.
Das Dienstprogramm ssh ist eine Implementierung des Protokolls. SFTP ist ein Subsystem von ssh, das das Protokoll für die sichere Kennwort- und Dateiübertragung verwendet.
Schauen Sie sich das OpenSSH-Projekt an . Es hat alle Informationen, die Sie suchen.
Kurz gesagt, das SSH-Protokoll ermöglicht die sichere (verschlüsselte) Verbindung zwischen zwei Hosts. Das sshHilfsprogramm ist ein Client-Programm, mit dem Sie sich über das SSH-Protokoll bei einem Remote-System anmelden können. Es kann auch für viele andere Zwecke verwendet werden, z.
sshdEs ist die Server- Software. Es bietet einen Daemon, der auf eingehende SSH-Anfragen reagiert.
suhat nichts mit ssh zu tun. Es wird verwendet, um den aktiven Benutzer zu ändern (die häufigste Verwendung, die es werden soll root).
Antworten:
Das SSH-Protokoll wird durch das definiert, was die Programme
ssh
undsshd
akzeptieren. (Es ist ein Standard dafür definiert, aber dieser ist nachträglich und wird meistens ignoriert, wenn eine der Implementierungen neue Funktionen hinzufügt.) Da es mehrere Implementierungen von diesen gibt (OpenSSH, F-Secure, PuTTY usw.). ) Gelegentlich werden Sie feststellen, dass einer von ihnen nicht dasselbe Protokoll wie die anderen unterstützt. Grundsätzlich definiert es die Authentifizierungsaushandlung und die Erstellung eines gemultiplexten Datenstroms. Dieser Stream kann einen oder mehrere (mit OpenSSH undControlMaster
) Terminalsitzungen und null oder mehr Tunnel (Weiterleiten von Socket-Verbindungen von lokal oder remote auf die andere Seite; X11-Weiterleitung ist ein Sonderfall der Remote-Weiterleitung). Es definiert auch "Subsysteme", die über den Stream verwendet werden können. Terminalsitzungen sind das Basissubsystem, andere können jedoch definiert werden.sftp
ist einer von diesen.ssh
Das Dienstprogramm verwendet das SSH-Protokoll, umsshd
auf einem anderen Computer zu kommunizieren . Wie es funktioniert, hängt davon ab, um welche Version es sich handelt (siehe oben). Das Wesentliche ist jedoch, dass versucht wird, herauszufinden, welche Version des SSH-Protokolls verwendet werden soll. Anschließend werdensshd
unterstützte Authentifizierungsmethoden ausgehandelt und anschließend versucht, Sie mithilfe von zu authentifizieren eine dieser Methoden (bei Bedarf nach Passwort / Paasword für privaten Schlüssel / S-Key-Phrase für entfernten Benutzer fragen) und bei erfolgreicher Authentifizierung einen gemultiplexten Stream mit demsshd
.sshd
Implementiert, wie oben erwähnt, die Serverseite des SSH-Protokolls.sftp
ist ein (derzeit einziges Standard-) Subsystem, das in den meistensshd
Implementierungen definiert ist . Verbindetsshd
sichsftp-server
mit der Sitzung des Subsystems, wenn das SFTP-Subsystem angefordert wird . Dassftp
Programm spricht dann mit ihm, ähnlich wieftp
bei der Übertragung von Dateien, die im Stream gemultiplext werden, anstatt separate Verbindungen zu verwenden, wie beiftp
.su
hat nichts mit dem zu tunssh
,sshd
odersftp
, es sei denn , soweit es PAM - Module sein kann für den Multiplexstrom innerhalb des Mantels oder Programmlauf durch sie zur Verfügung stehen zu arrangieren.quelle
SSH (steht für "Secure SHell") ist ein Netzwerkprotokoll, das in RFC4251 beschrieben wird .
ssh
Das Dienstprogramm ist ein SSH-Client, der eine Verbindung zum SSH-Dämon herstellt und dem Benutzer "Secure SHell" anzeigt. SFTP ist ein FTP-ähnliches Protokoll, das über eine SSH-Verbindung funktioniert.su
Befehl verwendetssh
odersshd
in keiner Weise, es ermöglicht Ihnen nur, Prozesse mit unterschiedlichen Berechtigungen auszuführen.quelle
SSH ist ein Protokoll für die sichere Kommunikation über ein unsicheres Netzwerk. Es ermöglicht eine durchgängige Verschlüsselung der gesamten Kommunikation, so dass sie nicht (praktikabel) abgefangen und entschlüsselt werden kann.
Das Dienstprogramm ssh ist eine Implementierung des Protokolls. SFTP ist ein Subsystem von ssh, das das Protokoll für die sichere Kennwort- und Dateiübertragung verwendet.
su verwendet das ssh-Protokoll nicht.
quelle
Schauen Sie sich das OpenSSH-Projekt an . Es hat alle Informationen, die Sie suchen.
Kurz gesagt, das SSH-Protokoll ermöglicht die sichere (verschlüsselte) Verbindung zwischen zwei Hosts. Das
ssh
Hilfsprogramm ist ein Client-Programm, mit dem Sie sich über das SSH-Protokoll bei einem Remote-System anmelden können. Es kann auch für viele andere Zwecke verwendet werden, z.sshd
Es ist die Server- Software. Es bietet einen Daemon, der auf eingehende SSH-Anfragen reagiert.su
hat nichts mit ssh zu tun. Es wird verwendet, um den aktiven Benutzer zu ändern (die häufigste Verwendung, die es werden sollroot
).quelle