SSH 通常使用多少数据?

Saa*_*kke 28 linux ssh bitrate

我想通过 ssh 连接到将通过 3G 连接连接的笔记本电脑 (Ubuntu)。因此,我需要估计我将使用多少数据来选择适合的计划。

与文件传输分开,我可以轻松确定将使用多少数据,ssh 会话使用的典型数量是多少?是否存在某种关系,例如ls在包含 50 个项目的目录上使用会花费我一定数量的数据?或者它是否更依赖于时间,并且无论使用如何,ssh 会话都会在每个时间间隔传输一定数量的数据?

小智 17

ssh 会话使用的典型数量是多少?

我不确定是否有“典型”

您应该运行tcpdump -ni eth0 -w dump port 22以捕获所有数据包,然后tcpdump -nX -r dump查看它们。

是否存在某种关系,例如在包含 50 个项目的目录上使用 ls 会花费我一定数量的数据?

你可以计算一下。粗略估计,每次击键都会生成 4 个数据包(按键、确认、屏幕回声、确认),并且每个数据包都会产生大量开销。(我的 TCP 转储说 500 字节输入 2 个字符。)

我的 135 个文件的目录列表占用了 2.5k。

使用ssh -C压缩应该有助于更大的文本。

或者它是否更依赖于时间,并且无论使用如何,ssh 会话都会在每个时间间隔传输一定数量的数据?

是的。TCP 和 SSH 都有 keepalive 探测。如果您一直保持这种状态,这将是一个问题。再次使用 TCPDump 进行测量。

我的建议是:与其担心,不如确保您确实获得了有关使用情况的实时反馈。使用几个会话后,您将能够知道自己有多接近。


Gee*_*han 12

我有一个类似的设置(远程 Ubuntu 笔记本电脑上的 3G 连接)。

虽然我同意没有“典型”答案(这取决于您自己的使用情况,以及 sshd/ssh 选项,如“keepalive”频率、ssh 压缩和其他 ssh 选项),但我已经能够减少我的基本空闲 ssh 带宽为 0.2 - 0.3MB/小时(计算为 200MB/月)。

我已经使用 tcpdump 和 wireshark 来可视化和测量我的带宽使用情况(除了使用 ifconfig 的接口的 RX 字节/TX 字节)。

我的设备上的 0.2 - 0.3MB 带宽有以下选项:TCPKeepAlive 无(sshd 服务器,sshd_config)和 ServerAliveInterval 180,ServerAliveCountMax 40,TCPKeepAlive 无(在客户端,即 ssh_config)

希望这对您有所帮助,如果不是您,那么其他具有类似设置的用户。