上周日折騰了一次阿里雲服務器,被linux的網絡問題折騰的夠嗆。在這里簡單做個問題的概要記錄,以備忘。題目中說自己是小白,其實也不完全是小白,自己對一些linux的常用命令還是有所了解的,但是對於linux系統缺乏一個整體的把握和掌控能力,下面簡單總結下上周日折騰的一些事情。
1,讓ssh登錄變的更加安全
(1)最不安全的方法:直接ssh root@ip地址,然后提示你輸入密碼,登錄成功。也就是以root身份以密碼驗證的方式登錄,這種方式恐怕是最不安全的。不安全的原因:密碼可以被暴力破解,一旦被破解,入侵者直接拿到root權限,很可怕。那么該如何提高安全性?看第(2)條。
(2)比(1)看起來安全,但仍然有安全風險的方法:禁用root賬戶的遠程ssh登錄功能,創建一個沒有root權限的賬戶user,通過這個賬戶進行ssh登錄,ssh登錄后如果需要root權限再通過su切換。不安全的原因:密碼仍可以被暴力破解,破解后雖然不能立即拿到root權限,但如果入侵者將root賬戶的密碼破解了,那么仍然能夠拿到root權限。linux中相關配置文件為:
vi /etc/ssh/sshd_config
PermitRootLogin no #禁用root賬戶遠程ssh登錄
添加用戶命令:
# 添加新用戶
user add username
# 為新用戶設置密碼
passwd username
(3)比較好的登錄方式:ssh密鑰登錄。在需要登錄的客戶機上生成一個密鑰對,然后將公鑰上傳到服務器,客戶機上存放私鑰,然后通過密鑰的方式登錄。這樣只有在入侵者獲取了你的私鑰之后才能登錄服務器,這種方式比口令驗證的方式要安全,而且也方便。linux中相關的配置文件為:
1 vi /etc/ssh/sshd_config 2 PasswordAuthentication no #禁用口令登錄 3 PubkeyAuthentication yes #允許公鑰認證 4 RSAAuthentication yes #rsa認證 5 AuthorizedKeysFile .ssh/authorized_keys #相關ssh授權文件
2,遇到ping不通,網站無法訪問等網絡問題時該怎么辦
阿里雲的幫助文檔中給出了常見網絡問題的處理方法,內容很多,可以參考這里。這里大概說下:
(1)ping不通比較容易確定確實是網絡問題,那么只要按照相關文檔來逐個排查就可以了,一般情況下都是因為防火牆(iptables)或安全組導致的。
(2)網站無法訪問這個情況就比較復雜了,網站無法訪問時,可以問自己以下幾個問題,以便理清排查思路:一,我的服務器防火牆和安全組都設置正確了么?這里主要是排查網絡問題,確定相應的端口是可以被公網訪問的。二,如果網絡沒問題,那么我的網站運行在什么服務器上,服務器運行是否正常,也就是服務器上的web服務是否在正常運行。比如常用的nginx是web服務器,檢查下它是否運行正常。可以用ps等命令來檢查。三,web服務器如何檢查?還是拿nginx做例子,(1)它監聽的哪個端口,監聽的端口是否被防火牆禁用了,這個端口是否還被其它進程監聽?可以通過lsof -i tcp:80和netstat命令來檢查端口的開啟和被監聽情況。(2)nginx的配置文件是否正確,網站的根目錄是否可以被nginx進程正常訪問等。