Another day running a VPS


I run a small VPS for some personal projects, and I often check the SSH logs to see who’s trying to break in. I have the standard setup: key-based authentication, password login disabled, non-default ssh port and fail2ban configured to block IPs after a few failed attempts. But that doesn’t stop the bots from trying.

This week, I decided to do a little analysis of the SSH logs to see where the attacks are coming from and the results are not surprising but still interesting.

Nearly 31,000 failed login attempts from the top 20 IPs alone. Russia takes the lead with 45% of attacks (20,742 attempts), followed by the US at 30% (8,163 attempts). One particularly persistent Russian IP tried over 9,600 times. Points for determination, I guess?

The geographic diversity is almost impressive: Russia, US, China, Brazil, and South Korea are all represented. It’s like a World Cup of “please let me into your server.”

This is just life when you have an ssh server exposed to the internet. I decided to add some additional security measures this week after seeing the data, but I wanted to share the conclusion of this analysis as a public service to anyone else who might be running a VPS with SSH access.

Stay safe out there.


Top 20 most common IP addresses

Rank IP Address Country Attempts % bar
1 176.120.22.47 Russia 9,621 ████████████████
2 209.38.216.89 United States 5,613 █████████
3 45.140.17.124 Russia 4,013 ███████
4 176.120.22.13 Russia 2,271 ████
5 87.121.84.136 Russia 2,252 ████
6 91.202.233.33 Russia 1,166 ██
7 167.99.72.161 United States 1,100 ██
8 222.120.161.213 China 1,087 ██
9 45.135.232.92 Russia 631
10 210.79.142.221 South Korea 602
11 165.22.216.148 United States 553
12 216.10.242.161 United States 436
13 47.251.142.10 China 360
14 5.104.86.151 Russia 300
15 45.148.10.121 Russia 288
16 68.183.234.194 United States 237
17 181.116.220.140 Brazil 232
18 209.38.85.78 United States 224
19 189.50.142.82 Brazil 222
20 157.173.199.44 Russia 193