Я работаю на Solaris и, хотя уже довольно давно использую команды ssh, sftp и su, я никогда полностью не понимал, как они работают. Пожалуйста, объясните и укажите мне несколько хороших ресурсов, где я могу узнать больше.
Срикант
Ответы:
26
Протокол 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, обеспечивающие доступность мультиплексированного потока в оболочке или программе, запущенной им.
Черт, побей меня снова. Приятный исчерпывающий ответ - проголосовал.
Шадур
9
SSH (расшифровывается как «Secure SHell») - это сетевой протокол, описанный в RFC4251 . sshУтилита - это клиент SSH, который подключается к демону SSH и представляет пользователю «Secure SHell». SFTP - это FTP-подобный протокол, который работает через SSH-соединение.
suКоманда не использует sshили sshdкаким-либо образом, она просто позволяет запускать процессы с разными привилегиями.
SSH - это протокол для безопасной связи по небезопасной сети. Он допускает сквозное шифрование всей связи, так что его невозможно (практически) перехватить и расшифровать.
Утилита ssh - это реализация протокола. SFTP - это подсистема ssh, которая использует протокол для безопасной передачи пароля и файла.
Взгляните на проект OpenSSH . Он содержит всю информацию, которую вы ищете.
Вкратце, протокол SSH разрешает безопасное (зашифрованное) соединение между двумя хостами. sshУтилита является клиентская программа для входа в удаленную систему с помощью протокола SSH, и он имеет много других применений, тоже, как [обратное] туннелирование / перенаправление портов / ...
sshdэто серверное программное обеспечение. Он предоставляет демон, который отвечает на входящие запросы SSH.
suне имеет ничего общего с SSH. Он используется для смены активного пользователя (чаще всего он становится root).
Ответы:
Протокол 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, обеспечивающие доступность мультиплексированного потока в оболочке или программе, запущенной им.источник
SSH (расшифровывается как «Secure SHell») - это сетевой протокол, описанный в RFC4251 .
ssh
Утилита - это клиент SSH, который подключается к демону SSH и представляет пользователю «Secure SHell». SFTP - это FTP-подобный протокол, который работает через SSH-соединение.su
Команда не используетssh
илиsshd
каким-либо образом, она просто позволяет запускать процессы с разными привилегиями.источник
SSH - это протокол для безопасной связи по небезопасной сети. Он допускает сквозное шифрование всей связи, так что его невозможно (практически) перехватить и расшифровать.
Утилита ssh - это реализация протокола. SFTP - это подсистема ssh, которая использует протокол для безопасной передачи пароля и файла.
su не использует протокол ssh.
источник
Взгляните на проект OpenSSH . Он содержит всю информацию, которую вы ищете.
Вкратце, протокол SSH разрешает безопасное (зашифрованное) соединение между двумя хостами.
ssh
Утилита является клиентская программа для входа в удаленную систему с помощью протокола SSH, и он имеет много других применений, тоже, как [обратное] туннелирование / перенаправление портов / ...sshd
это серверное программное обеспечение. Он предоставляет демон, который отвечает на входящие запросы SSH.su
не имеет ничего общего с SSH. Он используется для смены активного пользователя (чаще всего он становитсяroot
).источник