Linux安全與密鑰登錄指南
1. Linux安全概述
Linux系統(tǒng)安全主要依賴于控制訪問權(quán)限、監(jiān)控異常行為以及進行安全配置。通過適當?shù)牡卿浄绞胶驮L問限制,可以有效避免未經(jīng)授權(quán)的訪問。密鑰登錄是一種更安全的認證方式,避免了明文密碼的風險。而登錄日志和IP限制則可以幫助我們識別和防御潛在的入侵。
2. 密鑰登錄的配置
密鑰登錄是一種比密碼登錄更安全的方式,通過生成一對公鑰和私鑰來驗證用戶身份。以下是配置步驟。
2.1 生成密鑰對
在客戶端(例如你的電腦)上生成密鑰對:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
執(zhí)行后,會提示你設置密鑰存放的路徑(默認是~/.ssh/id_rsa
),可以直接按Enter使用默認路徑。接下來,如果你愿意,可以設置密鑰的密碼保護。
2.2 配置SSH密鑰登錄
- 將生成的公鑰復制到Linux服務器上:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
確認公鑰文件已被正確添加到服務器上的
~/.ssh/authorized_keys
文件中。在服務器上修改SSH配置,確保允許密鑰登錄并禁用密碼登錄:
編輯
/etc/ssh/sshd_config
文件:
sudo nano /etc/ssh/sshd_config
確保以下設置:
PasswordAuthentication no PubkeyAuthentication yes
保存文件并重啟SSH服務:
sudo systemctl restart ssh
3. 查看登錄日志
Linux系統(tǒng)會記錄所有登錄活動??梢允褂靡韵旅畈榭吹卿浫罩荆?/p>
sudo cat /var/log/auth.log | grep 'sshd'
在CentOS和Red Hat系統(tǒng)上,身份驗證日志通常存儲在/var/log/secure文件中。你可以嘗試使用以下命令查看SSH登錄記錄:
sudo cat /var/log/secure | grep 'sshd'
在日志中,你可以查看每次登錄的時間、IP地址以及登錄結(jié)果(成功或失?。?。這對監(jiān)控異常登錄行為非常有幫助。
4. 限制IP訪問
有時我們希望限制某些IP的訪問,或者僅允許特定IP訪問,以增強安全性。
4.1 設置IP封禁
可以使用fail2ban
工具來自動封禁多次嘗試登錄失敗的IP。
- 安裝
fail2ban
:
sudo apt-get install fail2ban
- 啟動并啟用
fail2ban
:
sudo systemctl start fail2ban sudo systemctl enable fail2ban
- 配置
fail2ban
的SSH規(guī)則,編輯配置文件:
sudo nano /etc/fail2ban/jail.local
添加如下內(nèi)容:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600
這將封禁連續(xù)3次嘗試登錄失敗的IP,并且封禁時間為3600秒(即1小時)。
重啟
fail2ban
服務:
sudo systemctl restart fail2ban
4.2 允許特定IP訪問
要僅允許特定IP訪問SSH,可以修改sshd_config
文件。
編輯SSH配置文件:
sudo nano /etc/ssh/sshd_config
添加以下內(nèi)容來限制IP:
AllowUsers username@your_ip
例如,若只允許IP 192.168.1.100
的用戶訪問,添加如下內(nèi)容:
AllowUsers username@192.168.1.100
保存并重啟SSH服務:
sudo systemctl restart ssh
這將僅允許指定IP的用戶進行訪問,有效防止其他IP的登錄請求。
5. 查看系統(tǒng)可登錄的賬號
要查看當前系統(tǒng)中可以登錄的賬號,可以檢查/etc/passwd
文件。此文件列出了所有用戶及其基本信息。
使用以下命令過濾出具有登錄權(quán)限的賬號:
cat /etc/passwd | grep -E '/bin/bash|/bin/sh'
該命令會列出具有有效shell的用戶,表示這些用戶具備登錄權(quán)限,如果發(fā)現(xiàn)有不該登陸的賬號卻能夠登陸,通過鎖定用戶賬戶,徹底阻止賬戶的登錄操作。此方法適用于需要暫時禁用用戶而無需更改Shell的情況,以下使用admin
賬戶舉例。
執(zhí)行步驟
使用usermod
命令鎖定用戶:
sudo usermod -L admin
驗證是否已成功鎖定:
sudo passwd -S admin
- 輸出類似于
admin L
的結(jié)果表示用戶已被鎖定。
注意:鎖定賬戶后,系統(tǒng)會在密碼字段前添加!符號,表明該賬戶已被禁用。如果要解鎖賬戶,可使用usermod -U admin命令。
以上就是Linux安全與密鑰登錄指南的詳細內(nèi)容,更多關(guān)于Linux安全與密鑰登錄的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
centos 6.5 oracle開機自啟動的環(huán)境配置詳解
這篇文章主要介紹了centos 6.5 oracle開機自啟動的環(huán)境配置詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01CentOS Linux 下配置Apache2+PHP5+MySQL5+GD庫的方法
先安裝MYSQL 服務器再安裝GD庫基本包2008-04-04阿里云 CentOS7.4 安裝 Python3.6的方法講解
下面小編就為大家分享一篇阿里云 CentOS7.4 安裝 Python3.6的方法講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01安裝ubuntu18.04報:failed to load ldlinux.c32的問題及解決步驟
這篇文章主要介紹了安裝ubuntu18.04報:failed to load ldlinux.c32的問題,本文通過圖文并茂的形式給大家分享解決方法,需要的朋友可以參考下2020-08-08Linux中使用Cron定時執(zhí)行SQL任務的實現(xiàn)步驟
在Linux系統(tǒng)中,計劃任務(Cron)是一種強大的工具,可以自動執(zhí)行預定的任務,它非常適合定期運行腳本、備份數(shù)據(jù)、清理臨時文件等一系列重復性任務,本文給大家介紹了如何在Linux中使用Cron定時執(zhí)行SQL任務,需要的朋友可以參考下2024-11-11linux查找大文件指定內(nèi)容的實現(xiàn)方法
今天小編就為大家分享一篇linux查找大文件指定內(nèi)容的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07centos7系統(tǒng)nginx服務器下phalcon環(huán)境搭建方法詳解
這篇文章主要介紹了centos7系統(tǒng)nginx服務器下phalcon環(huán)境搭建方法,結(jié)合具體實例形式詳細分析了centos7的nginx服務器搭建phalcon的具體操作步驟與相關(guān)設置技巧,需要的朋友可以參考下2019-09-09