小编Ber*_*rtS的帖子

SSH & SFTP:我应该为每个用户分配一个端口以方便带宽监控吗?

没有简单的方法可以实时跟踪 SSH 和 SFTP 的每个用户带宽使用情况。我认为为每个用户分配一个端口可能会有所帮助,但我想知道我的方法是否可行。

用例

  • Bob 的 UID 为 1001,应连接到端口 31001。
  • Alice 的 UID 为 1002,应连接到端口 31002。
  • 使用 UID 1003 的 John 应连接到端口 31003。

(我不想启动问题 247291 中提出的几个 sshd 实例。)

1. SFTP 设置:

/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)

2. SSH 的额外设置:

中的几行/etc/profile防止用户连接到错误的端口:

if [ -n "$SSH_CONNECTION" …
Run Code Online (Sandbox Code Playgroud)

ssh port sftp bandwidth-measuring

5
推荐指数
1
解决办法
493
查看次数

标签 统计

bandwidth-measuring ×1

port ×1

sftp ×1

ssh ×1