我開始遇到最奇怪的問題,當我嘗試透過 SSH 連接到我旁邊的伺服器時,它拒絕連接。如果我繼續嘗試最終它會連接。
~ $ ssh 192.168.0.10
ssh: connect to host 192.168.0.10 port 22: Connection refused
~ $ ssh 192.168.0.10
ssh: connect to host 192.168.0.10 port 22: Connection refused
~ $ ssh 192.168.0.10
ssh: connect to host 192.168.0.10 port 22: Connection refused
~ $ ssh 192.168.0.10
ssh: connect to host 192.168.0.10 port 22: Connection refused
~ $ ssh 192.168.0.10
[email protected]'s password: <--- Connected here
我的第一個想法是這是某種 DHCP 在我的網路上引起的 IP 衝突,但仔細檢查後發現事實並非如此。
奇怪的是,一切都是隨機的,有時它會立即起作用,而另一些則可能需要 100 多次嘗試。有時在我的筆記型電腦上(透過 WiFi)它第一次可以工作,但其他時候卻失敗,而我的有線桌上型電腦過去總是可以工作,但現在開始顯示相同的行為。
有人之前經歷過這件事嗎?我應該在伺服器上查看哪些日誌來幫助找出導致這種奇怪行為的原因?
伺服器運行的是 Ubuntu 20.04
答案1
如果這對你有幫助,我也遇到類似的問題。
排除後fail2ban
,sshd_config
我發現我使用了ssh 連接埠的規則ufw
。LIMIT
我空白地允許了 SSH,現在它可以工作了。問題是連接太多。
答案2
該「伺服器」是否有面向公眾的 SSH 連接埠?
如果您有預設設置,則可能是有人試圖暴力登入您的伺服器,MaxStartups
伺服器在任何給定時間點僅允許有限數量的傳入連接嘗試,並拒絕其餘的連接嘗試。
在這種情況下,您將看到的日誌將是大量的身份驗證失敗/var/log/auth.log
。
您也可能會被其他一些可能使用 netfilter 或其他東西實現的入侵防禦系統拒絕。
假設這是 MaxStartups 或其他一些入侵防禦系統的結果,您通常不應將 SSH 公開,或者如果它是公開的,則將傳入位址限制為受信任的子集或需要 VPN 等。
將 ssh 放在非標準連接埠上可以幫助減少來自互聯網的探測和暴力破解。