上周日折騰了一次阿裡雲伺服器,被linux的網路問題折騰的夠嗆。在這裡簡單做個問題的概要記錄,以備忘。題目中說自己是小白,其實也不完全是小白,自己對一些linux的常用命令還是有所瞭解的,但是對於linux系統缺乏一個整體的把握和掌控能力,下麵簡單總結下上周日折騰的一些事情。 1,讓ssh登錄變的更 ...
上周日折騰了一次阿裡雲伺服器,被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進程正常訪問等。