没有简单的方法可以实时跟踪 SSH 和 SFTP 的每个用户带宽使用情况。我认为为每个用户分配一个端口可能会有所帮助,但我想知道我的方法是否可行。
(我不想启动问题 247291 中提出的几个 sshd 实例。)
在/etc/ssh/sshd_config
:
Port 31001
Port 31002
Port 31003
Subsystem sftp /usr/bin/sftp-wrapper.sh
Run Code Online (Sandbox Code Playgroud)
sftp-wrapper.sh
仅当端口正确时,该文件才会启动 sftp 服务器:
#!/bin/sh
mandatory_port=3`id -u`
current_port=`echo $SSH_CONNECTION | awk '{print $4}'`
if [ $mandatory_port -eq $current_port ]
then
exec /usr/lib/openssh/sftp-server
fi
Run Code Online (Sandbox Code Playgroud)
中的几行/etc/profile
防止用户连接到错误的端口:
if [ -n "$SSH_CONNECTION" …
Run Code Online (Sandbox Code Playgroud)