Ile danych zwykle używa SSH?

24

Chcę ssh w laptopie (Ubuntu), który będzie podłączony przez połączenie 3G. Dlatego muszę oszacować, ile danych wykorzystam do wyboru odpowiedniego planu.

Oddziel od transferu plików, dla których mogę łatwo określić, ile danych będzie wykorzystanych, jaka jest typowa ilość, jakiej używa sesja ssh? Czy istnieje jakaś relacja, np. Korzystanie lsz katalogu zawierającego 50 pozycji kosztuje mnie pewną ilość danych? A może jest bardziej zależny od czasu i czy sesja ssh przesyła określoną ilość danych na przedział czasu, niezależnie od zastosowania?

Saaru Lindestøkke
źródło

Odpowiedzi:

15

Jaka jest typowa kwota używana przez sesję SSH?

Nie jestem pewien, czy istnieje „typowy”

Powinieneś uruchomić, tcpdump -ni eth0 -w dump port 22aby przechwycić wszystkie swoje pakiety, a następnie tcpdump -nX -r dumpje wyświetlić.

Czy istnieje jakaś relacja, np. Użycie ls w katalogu zawierającym 50 elementów kosztuje mnie pewną ilość danych?

Możesz to obliczyć. W przybliżeniu, każde naciśnięcie klawisza wygeneruje 4 pakiety (naciśnięcie klawisza, potwierdzenie, echo na ekranie, potwierdzenie), a każdy pakiet będzie miał narzut ton. (Mój zrzut TCP mówi 500 bajtów na 2 znaki).

Moja lista katalogowa 135 plików zajęła 2,5 tys.

Użycie ssh -Ckompresji powinno pomóc w przypadku większego tekstu.

A może jest bardziej zależny od czasu i czy sesja ssh przesyła określoną ilość danych na przedział czasu, niezależnie od zastosowania?

Tak. Zarówno TCP, jak i SSH mają sondy podtrzymujące. Będzie to problem, jeśli będziesz go cały czas utrzymywał. Ponownie użyj do pomiaru TCPDump.

Moja rada: zamiast się martwić, upewnij się, że faktycznie masz informacje zwrotne na temat swojego użytkowania. Po skorzystaniu z kilku sesji dowiesz się, jak blisko jesteś.

BraveNewCurrency
źródło
1
Aby znaleźć całkowity rozmiar pakietów przechwyconych przez tcpdump, można użyć capinfo(z Wireshark) pliku zapisanego przez tcpdump. np.capinfos dump
Flux
8

Mam podobną konfigurację (połączenie 3G na zdalnym laptopie Ubuntu).

Chociaż zgadzam się, że nie ma „typowej” odpowiedzi (zależy to zarówno od twojego użycia, jak i opcji sshd / ssh, takich jak częstotliwość „keepalive”, kompresja ssh i być może inne opcje ssh), udało mi się zmniejszyć moją podstawową bezczynna przepustowość ssh do 0,2 - 0,3 MB / godz. (działa do 200 MB / miesiąc).

Użyłem tcpdump, a następnie wireshark do wizualizacji i pomiaru zużycia przepustowości (oprócz bajtów RX interfejsu / bajtów TX przy użyciu ifconfig).

Przepustowość 0,2 - 0,3 MB na moim urządzeniu ma następujące opcje: TCPKeepAlive nie (serwer sshd, sshd_config) i ServerAliveInterval 180, ServerAliveCountMax 40, TCPKeepAlive nie (na kliencie, tj. Ssh_config)

Mam nadzieję, że to pomoże, jeśli nie ty, to inni użytkownicy o podobnej konfiguracji.

Geehan
źródło
3

SSH w zasadzie wysyła polecenie i wyjście ekranu. Jeśli robisz tylko wiersze poleceń, przybliżony szacunek byłby bajtem na znak na ekranie.

Oczywiście, jeśli tunelujesz sesję X, SCP do przesyłania plików itp., Przepustowość wzrośnie.

Mówię, że jest to przybliżone oszacowanie, ponieważ jest trochę kosztów ogólnych. Możesz także użyć flagi -C, aby zażądać kompresji.

ernie
źródło