Що таке SSH - протокол, а що ssh - утиліта?


15

Що таке SSH - протокол?
Що таке ssh- утиліта unix і як вона працює?

Як протокол SSH пов'язаний з SFTP?

Що таке sshd?

Є команда suвикористовувати sshабо sshd?


Я працюю над Solaris, і хоча я вже досить часто використовую команди ssh, sftp і su, я ніколи не розумів, як вони працюють. Будь ласка, поясніть і вкажіть мене на деякі хороші ресурси, де я можу дізнатися більше.
Шрікант

Відповіді:


26

Протокол SSH визначається тим, що sshі sshdпрограми приймають. (Для нього визначений стандарт, але він є фактичним фактом і в основному його ігнорують, коли одна з реалізацій додає нові функції.) Оскільки існує кілька реалізацій цих (OpenSSH, F-Secure, PuTTY тощо). ) час від часу ви виявите, що один з них не підтримує той же протокол, що й інші. В основному він визначає узгодження автентифікації та створення мультиплексованого потоку даних. Цей потік може нести один або кілька (з OpenSSH таControlMaster) термінальні сеанси і нульові або більше тунелів (переадресація розетки з локальної або віддаленої на іншу сторону; перенаправлення X11 - особливий випадок дистанційного переадресації). Він також визначає "підсистеми", які можна використовувати над потоком; термінальні сесії є базовою підсистемою, але можна визначити інші. sftpє одним із таких.

sshутиліта використовує протокол SSH для спілкування sshdна іншій машині. Як це працює, залежить від версії, яка вона є (див. Вище), але суть її полягає в тому, що вона намагається розібратися, яку версію протоколу SSH використовувати, потім її і sshdузгодити підтримувані методи аутентифікації, а потім намагається перевірити автентифікацію за допомогою один із цих методів (запит пароля для віддаленого користувача / пароля приватного ключа / фрази S-Key за необхідності), а при успішній аутентифікації встановлюється мультиплексований потік із sshd.

sshdяк було сказано вище, реалізує серверну частину протоколу SSH.

sftpє (на сьогодні єдиною стандартною) підсистемою, визначеною в більшості sshdреалізацій. Коли запитується підсистема SFTP, sshdпідключається sftp-serverдо сеансу підсистеми; sftpто програма говорить з ним, аналогічно , ftpале з передачею файлів , мультиплексованих на потоці замість того щоб використовувати окремі сполуки , як з ftp.

suне має нічого спільного з ssh, sshdабо sftp, за винятком випадків, коли можуть бути модулі PAM, щоб організувати доступ до мультиплексованого потоку в оболонці або програмі, яку він виконує.


Чорт, знову побив мене. Приємна вичерпна відповідь - схвальна.
Шадур

9

SSH (розшифровується як "Secure SHell") - мережевий протокол, описаний в RFC4251 . sshутиліта - це клієнт SSH, який підключається до демона SSH і представляє користувачеві "Безпечний захист". SFTP - протокол, схожий на FTP, який працює над SSH-з'єднанням.

suкоманда не використовує sshабо sshdжодним чином, вона просто дозволяє запускати процеси з різними привілеями.


6

SSH - це протокол безпечного зв’язку по незахищеній мережі. Це дозволяє в кінцевому підсумку шифрувати всю комунікацію таким чином, що вона (можливо) не може бути перехоплена і розшифрована.

ssh утиліта - це реалізація протоколу. SFTP - це підсистема ssh, яка використовує протокол для безпечної передачі пароля та файлів.

su не використовує протокол ssh.


5

Погляньте на проект OpenSSH . У ньому є вся інформація, яку ви шукаєте.

Якщо коротко, протокол SSH дозволяє захистити (зашифроване) з'єднання між двома хостами. sshУтиліта є клієнтська програма для входу в віддалену систему з допомогою протоколу SSH, і він має багато інших застосувань, теж, як [зворотне] туннелирование / перенаправлення портів / ...

sshdце серверне програмне забезпечення. Він надає демон, який відповідає на вхідні SSH запити.

suне має нічого спільного з ssh. Він використовується для зміни активного користувача (найчастіше це стає root).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.