命令执行和数据转发
如果客户端成功通过身份验证,则会进入准备会话的对话框。
此时,客户端可能会请求诸如分配伪 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 的服务器。
日期:2020-07-15 11:16:30 来源:oir作者:oir