命令执行和数据转发

如果客户端成功通过身份验证,则会进入准备会话的对话框。
此时,客户端可能会请求诸如分配伪 tty、转发 X11 连接、转发 TCP/IP 连接或者通过安全通道转发身份验证代理连接之类的事情。

最后,客户端请求 shell 或者执行命令。
然后双方进入会话模式。
在这种模式下,任何一方都可以随时发送数据,这些数据在服务器上的shell或者命令和客户端上的用户终端之间进行转发或者转发。

当用户程序终止,所有转发的X11等连接关闭时,服务器向客户端发送命令退出状态,双方退出。

登录流程

当用户成功登录时,sshd 会执行以下操作:

  • 如果登录是在 tty 上,并且没有指定命令,它会打印上次登录时间和 /etc/motd.conf 。
  • 如果登录是在 tty 上,它会记录登录时间。
  • 检查 /etc/nologin 是否存在,打印内容,然后退出(除非是 root)。
  • 更改为以普通用户权限运行。
  • 设置基本环境。
  • 如果 $HOME/.ssh/environment 存在并且允许用户更改其环境,则读取它。
  • 更改到用户的主目录。
  • 如果 $HOME/.ssh/rc 存在,运行它;否则如果 /etc/ssh/sshrc 存在,运行它;否则运行 xauth。
  • 运行用户的 shell 或者命令。

SSH 守护进程支持安全的远程会话

SSH 守护进程 sshd 取代了 rlogin 和 rsh,通过不安全的网络在两个不受信任的主机之间提供安全的加密通信。

这些程序旨在尽可能易于安装和使用。

sshd 守护进程侦听来自客户端的连接。
它通常在启动时启动。
它为每个传入连接派生一个新的守护进程。
分叉守护进程处理密钥交换、加密、身份验证、命令执行和数据交换。
sshd 的这种实现同时支持 SSH 协议版本 1 和 2.

除非我们将计算机打开到外部连接,否则我们无需配置或者运行 sshd。
使用 ssh 远程登录为我们运行 sshd 的服务器。

Linux/Unix 命令:sshd
日期:2020-07-15 11:16:30 来源:oir作者:oir