Что такое SSH - протокол и что такое ssh - утилита?

Две из самых важных книг UNIX, Среды программирования UNIX и Языка программирования C оба относятся к нему как минус.

Среда программирования Unix, страница 13:

Опции следуют за названием команды на командной строке и обычно составляются из первоначального знака "минус" (-) и одна буква.

Язык программирования C, 2-й Выпуск, страница 116:

Общая конвенция для программ C в системах UNIX состоит в том, что аргумент, который начинается со знака "минус", представляет дополнительный флаг.

Многие пользователи UNIX будут читать один или обе из этих книг, так может иметь, взяли терминологию оттуда.


Вызов его минус имеет смысл, потому что символ, который Вы вводите, является дефисом - минус (-).
Тире () длиннее.

Причина того, чтобы сказать "минус", а не "дефис" является, вероятно, двукратной:

  1. меньше людей знает, каков дефис
  2. некоторые утилиты принимают опции, запускающиеся с +, таким образом, логично думать плюс и минус

Кроме того, много программ обработки текста преобразовывают двойной дефис - минус (--) в тире (), таким образом говорить "тире", когда Вы имеете в виду "минус", могло привести к беспорядку при обсуждении GNU долгие опции, например. --help.

15
07.03.2011, 10:23
4 ответа

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

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

sshd, как сказано выше, реализует сторону сервера протокола SSH.

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

su не имеет никакого отношения ssh, sshd, или sftp, кроме того, поскольку могут быть модули PAM, чтобы принять меры, чтобы мультиплексированный поток был доступен в оболочке или прогоне программы ею.

26
27.01.2020, 19:49
  • 1
    Чертовски, изобьет меня к нему снова. Хорошо всесторонний ответ - upvoted. –  Shadur 07.03.2011, 12:42

SSH (обозначает "Безопасную Оболочку") является сетевым протоколом, который описал в RFC4251. ssh утилита является клиентом SSH, который соединяется с демоном SSH и представляет "Безопасную Оболочку" пользователю. SFTP является подобным FTP протоколом, который работает по соединению SSH.

su команда не использует ssh или sshd всегда, это просто позволяет Вам выполнять процессы с различными полномочиями.

9
27.01.2020, 19:49

SSH является протоколом для безопасной коммуникации по незащищенной сети. Это допускает вплотную шифрование всей коммуникации, таким образом, что это не может (осуществимо) быть прервано и decrytped.

ssh утилита является реализацией протокола. SFTP является подсистемой ssh, который использует протокол для безопасного пароля и передачи файлов.

su не использует ssh протокол.

6
27.01.2020, 19:49

Смотрите на проект OpenSSH. Это имеет всю информацию, которую Вы ищете.

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

sshd это - программное обеспечение сервера. Это предоставляет демону, который отвечает на поступление запросы SSH.

su не имеет никакого отношения к ssh. Это используется для изменения активного пользователя (самое частое использование, которым это должно стать root).

5
27.01.2020, 19:49

Теги

Похожие вопросы