linux的登陸流程,linux
tcp請求 ->sshd ->passwd->pam->bashbash
這中間的每一個環節出問題,都會使登陸出現問題:ssh
1,首先,tcp請求,可能出現22端口被防火牆/iptables拒絕掉,因此,首先得看下防火牆規則;tcp
2,sshd server接受請求後,有幾種狀況會使請求被拒絕,sshd自己的配置文件權限必須是:code
-rw-r--r-- 1 root root 300261 4月 28 2016 moduli -rw-r--r-- 1 root root 1756 4月 28 2016 ssh_config -rw-r--r-- 1 root root 2527 6月 7 18:42 sshd_config -rw------- 1 root root 672 3月 14 16:18 ssh_host_dsa_key -rw-r--r-- 1 root root 619 3月 14 16:18 ssh_host_dsa_key.pub -rw------- 1 root root 227 3月 14 16:18 ssh_host_ecdsa_key -rw-r--r-- 1 root root 191 3月 14 16:18 ssh_host_ecdsa_key.pub -rw------- 1 root root 419 3月 14 16:18 ssh_host_ed25519_key -rw-r--r-- 1 root root 111 3月 14 16:18 ssh_host_ed25519_key.pub -rw------- 1 root root 1679 3月 14 16:18 ssh_host_rsa_key -rw-r--r-- 1 root root 411 3月 14 16:18 ssh_host_rsa_key.pub -rw-r--r-- 1 root root 338 3月 14 16:18 ssh_import_id
注意其中的幾個文件很重要,特別是sshd_host的密鑰文件權限,必須是400!server
還有的問題就是sshd的設置的規則了,好比默認root不容許遠程,設置訪問白名單或者黑名單之類的。ip
3,登陸的下個流程就是去passwd文件驗證密碼,這裏首先,用戶不能被鎖,其次,能獲取到bash,不能是nologin,這個文件也以用來排除系統是否留有後門。table
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync
4,passwd接下來會去調用pam庫驗證登陸,login的驗證,會使用/etc/pam.d/login文件,要檢查這個文件設置的權限,看是否有人惡意修改。class
5,最後看/bin/bash 文件是否存在並檢查是否有問題,系統中毒後,有人會惡意替換top,bash等重要文件!import