当我远程连接到我的服务器(带有 Raspbian 的 RasPI 2)时,我希望我的交互式 SSH 会话始终优先于任何正在运行的 SFTP 会话。此外,SFTP 会话的优先级应低于本地网络中的 SMB 流量。
该服务器位于 dd-wrt 路由器后面,依次连接到具有 5Mbps 上行带宽的电缆调制解调器。
我知道我应该使用iptables
将传出的数据包标记为不同的类别并将tc
它们放在不同的类别中。但是我如何告诉 iptables 辨别 SSH 数据包和 SFTP 数据包并对它们进行不同的标记?在上述场景中,它们来自同一端口,进程名称相同(sshd
),用户相同,目标 IP 地址也相同。
sshd 守护进程正在使用其内部 SFTP 服务器来使用该ChrootDirectory
功能。
答案1
不,这种设置无法实现。sftp
是的子系统sshd
,sftp
命令仅封装在ssh
协议中,在服务器端有一个称为的进程,sftp-server
而不是bash
,这在普通 ssh 会话中很常见。
可能性是sshd
使用 sftp 子系统在不同端口上运行另一个服务实例,然后您只需通过端口进行区分即可。您甚至可以通过设置为不接受正常的 ssh 会话来iptables
创建另一个服务。sftp-only
ForcedCommand /path/to/sftp-server