SSH 是什么协议?
什么是ssh
UNIX 实用程序以及它是如何工作的?
SSH 协议与 SFTP 有何关系?
什么是sshd
?
该命令su
使用ssh
or吗sshd
?
答案1
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 模块来安排多路复用流在 shell 或由其运行的程序中可用。
答案2
SSH(代表“Secure SHell”)是一种网络协议,其描述见RFC4251。ssh
实用程序是 SSH 客户端,它连接到 SSH 守护进程并向用户呈现“Secure SHell”。 SFTP 是类似 FTP 的协议,通过 SSH 连接运行。
su
命令不使用ssh
orsshd
以任何方式,它只是允许您以不同的权限运行进程。
答案3
答案4
看看OpenSSH 项目。它有您正在寻找的所有信息。
简而言之,SSH协议允许安全的两台主机之间的(加密)连接。该ssh
实用程序是一个使用 SSH 协议登录远程系统的客户端程序,它还有很多其他用途,例如[反向]隧道/端口转发/...
sshd
这是服务器软件。它提供了一个守护进程它响应传入的 SSH 请求。
su
与ssh无关。它用于更改活动用户(最常用的用途是成为root
)。