Berapa banyak data yang biasanya digunakan SSH?

24

Saya ingin ssh menjadi laptop (Ubuntu) yang akan terhubung melalui koneksi 3G. Karena itu saya perlu memperkirakan berapa banyak data yang akan saya gunakan untuk memilih paket setelan.

Terpisah dari transfer file, yang saya dapat dengan mudah menentukan berapa banyak data yang akan digunakan, berapa jumlah khas yang digunakan sesi ssh? Apakah ada semacam hubungan, misalnya bahwa menggunakan lsdirektori dengan 50 item akan dikenakan biaya sejumlah data tertentu? Atau lebih tergantung waktu dan apakah sesi ssh mentransmisikan sejumlah data per interval waktu, terlepas dari penggunaan?

Saaru Lindestøkke
sumber

Jawaban:

15

berapakah jumlah tipikal yang digunakan sesi ssh?

Saya tidak yakin ada "tipikal"

Anda harus berlari tcpdump -ni eth0 -w dump port 22untuk mengambil semua paket Anda, lalu tcpdump -nX -r dumpmelihatnya.

Apakah ada semacam hubungan, misalnya bahwa menggunakan ls pada direktori dengan 50 item akan dikenakan biaya sejumlah data tertentu?

Anda bisa menghitungnya. Sebagai perkiraan kasar, setiap penekanan tombol akan menghasilkan 4 paket (penekanan tombol, ack, gema di layar, ack) dan setiap paket akan memiliki banyak overhead. (Dump TCP saya mengatakan 500 byte untuk mengetik 2 karakter.)

Daftar direktori saya dari 135 file mengambil 2,5k.

Menggunakan ssh -Ckompresi akan membantu teks yang lebih besar.

Atau lebih tergantung waktu dan apakah sesi ssh mentransmisikan sejumlah data per interval waktu, terlepas dari penggunaan?

Iya nih. Baik TCP dan SSH memiliki probe keepalive. Ini akan menjadi masalah jika Anda terus melakukannya. Sekali lagi, gunakan TCPDump untuk mengukur.

Saran saya: alih-alih mengkhawatirkan, pastikan Anda benar-benar memiliki umpan balik waktu nyata tentang penggunaan Anda. Setelah Anda menggunakan beberapa sesi, Anda akan tahu seberapa dekat Anda.

BraveNewCurrency
sumber
1
Untuk menemukan ukuran total paket yang ditangkap oleh tcpdump, seseorang dapat menggunakan capinfo(dari Wireshark) pada file yang ditulis oleh tcpdump. misalnyacapinfos dump
Flux
8

Saya memiliki pengaturan yang serupa (koneksi 3G pada laptop remote Ubuntu).

Walaupun saya setuju tidak ada jawaban "tipikal" (itu tergantung pada penggunaan Anda sendiri, serta opsi sshd / ssh seperti frekuensi "keepalive", kompresi ssh & mungkin opsi ssh lainnya), saya dapat mengurangi dasar saya bandwidth idle ssh ke 0,2 - 0,3MB / jam (berfungsi hingga 200MB / bulan).

Saya telah menggunakan tcpdump dan kemudian wireshark untuk memvisualisasikan dan mengukur penggunaan bandwidth saya (selain antarmuka RX bytes / TX bytes menggunakan ifconfig).

Bandwidth 0,2 - 0,3MB pada rig saya adalah dengan opsi berikut: TCPKeepAlive no (sshd server, sshd_config) dan ServerAliveInterval 180, ServerAliveCountMax 40, TCPKeepAlive no (pada klien, yaitu ssh_config)

Semoga ini bisa membantu, jika bukan Anda, maka pengguna lain dengan pengaturan serupa.

Astaga
sumber
3

SSH pada dasarnya mengirim perintah dan output layar. Jika Anda hanya melakukan hal-hal baris perintah, perkiraan kasar akan menjadi byte per karakter di layar Anda.

Jelas, jika Anda melakukan tunnel pada sesi X, SCP untuk mentransfer file, dll, bandwidth akan naik.

Saya katakan ini perkiraan kasar karena ada beberapa overhead. Anda juga dapat menggunakan flag -C untuk meminta kompresi.

ernie
sumber