Linux安全與密鑰登錄指南
1. Linux安全概述
Linux系統(tǒng)安全主要依賴(lài)于控制訪(fǎng)問(wèn)權(quán)限、監(jiān)控異常行為以及進(jìn)行安全配置。通過(guò)適當(dāng)?shù)牡卿浄绞胶驮L(fǎng)問(wèn)限制,可以有效避免未經(jīng)授權(quán)的訪(fǎng)問(wèn)。密鑰登錄是一種更安全的認(rèn)證方式,避免了明文密碼的風(fēng)險(xiǎn)。而登錄日志和IP限制則可以幫助我們識(shí)別和防御潛在的入侵。
2. 密鑰登錄的配置
密鑰登錄是一種比密碼登錄更安全的方式,通過(guò)生成一對(duì)公鑰和私鑰來(lái)驗(yàn)證用戶(hù)身份。以下是配置步驟。
2.1 生成密鑰對(duì)
在客戶(hù)端(例如你的電腦)上生成密鑰對(duì):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
執(zhí)行后,會(huì)提示你設(shè)置密鑰存放的路徑(默認(rèn)是~/.ssh/id_rsa),可以直接按Enter使用默認(rèn)路徑。接下來(lái),如果你愿意,可以設(shè)置密鑰的密碼保護(hù)。
2.2 配置SSH密鑰登錄
- 將生成的公鑰復(fù)制到Linux服務(wù)器上:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
確認(rèn)公鑰文件已被正確添加到服務(wù)器上的
~/.ssh/authorized_keys文件中。在服務(wù)器上修改SSH配置,確保允許密鑰登錄并禁用密碼登錄:
編輯
/etc/ssh/sshd_config文件:
sudo nano /etc/ssh/sshd_config
確保以下設(shè)置:
PasswordAuthentication no PubkeyAuthentication yes
保存文件并重啟SSH服務(wù):
sudo systemctl restart ssh
3. 查看登錄日志
Linux系統(tǒng)會(huì)記錄所有登錄活動(dòng)??梢允褂靡韵旅畈榭吹卿浫罩荆?/p>
sudo cat /var/log/auth.log | grep 'sshd'
在CentOS和Red Hat系統(tǒng)上,身份驗(yàn)證日志通常存儲(chǔ)在/var/log/secure文件中。你可以嘗試使用以下命令查看SSH登錄記錄:
sudo cat /var/log/secure | grep 'sshd'
在日志中,你可以查看每次登錄的時(shí)間、IP地址以及登錄結(jié)果(成功或失?。_@對(duì)監(jiān)控異常登錄行為非常有幫助。
4. 限制IP訪(fǎng)問(wèn)
有時(shí)我們希望限制某些IP的訪(fǎng)問(wèn),或者僅允許特定IP訪(fǎng)問(wèn),以增強(qiáng)安全性。
4.1 設(shè)置IP封禁
可以使用fail2ban工具來(lái)自動(dòng)封禁多次嘗試登錄失敗的IP。
- 安裝
fail2ban:
sudo apt-get install fail2ban
- 啟動(dòng)并啟用
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,并且封禁時(shí)間為3600秒(即1小時(shí))。
重啟
fail2ban服務(wù):
sudo systemctl restart fail2ban
4.2 允許特定IP訪(fǎng)問(wèn)
要僅允許特定IP訪(fǎng)問(wèn)SSH,可以修改sshd_config文件。
編輯SSH配置文件:
sudo nano /etc/ssh/sshd_config
添加以下內(nèi)容來(lái)限制IP:
AllowUsers username@your_ip
例如,若只允許IP 192.168.1.100的用戶(hù)訪(fǎng)問(wèn),添加如下內(nèi)容:
AllowUsers username@192.168.1.100
保存并重啟SSH服務(wù):
sudo systemctl restart ssh
這將僅允許指定IP的用戶(hù)進(jìn)行訪(fǎng)問(wèn),有效防止其他IP的登錄請(qǐng)求。
5. 查看系統(tǒng)可登錄的賬號(hào)
要查看當(dāng)前系統(tǒng)中可以登錄的賬號(hào),可以檢查/etc/passwd文件。此文件列出了所有用戶(hù)及其基本信息。
使用以下命令過(guò)濾出具有登錄權(quán)限的賬號(hào):
cat /etc/passwd | grep -E '/bin/bash|/bin/sh'
該命令會(huì)列出具有有效shell的用戶(hù),表示這些用戶(hù)具備登錄權(quán)限,如果發(fā)現(xiàn)有不該登陸的賬號(hào)卻能夠登陸,通過(guò)鎖定用戶(hù)賬戶(hù),徹底阻止賬戶(hù)的登錄操作。此方法適用于需要暫時(shí)禁用用戶(hù)而無(wú)需更改Shell的情況,以下使用admin賬戶(hù)舉例。
執(zhí)行步驟
使用usermod命令鎖定用戶(hù):
sudo usermod -L admin
驗(yàn)證是否已成功鎖定:
sudo passwd -S admin
- 輸出類(lèi)似于
admin L的結(jié)果表示用戶(hù)已被鎖定。
注意:鎖定賬戶(hù)后,系統(tǒng)會(huì)在密碼字段前添加!符號(hào),表明該賬戶(hù)已被禁用。如果要解鎖賬戶(hù),可使用usermod -U admin命令。
以上就是Linux安全與密鑰登錄指南的詳細(xì)內(nèi)容,更多關(guān)于Linux安全與密鑰登錄的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux虛擬機(jī)系統(tǒng)化部署母盤(pán)流程
文章介紹了系統(tǒng)化部署母盤(pán)的原因和方法,包括配置vim個(gè)性化軟件倉(cāng)庫(kù)、自動(dòng)掛載光盤(pán)映像、配置網(wǎng)絡(luò)和關(guān)閉SELinux及防火墻2026-02-02
cloudera manager 設(shè)置開(kāi)機(jī)自啟的方法
下面小編就為大家?guī)?lái)一篇cloudera manager 設(shè)置開(kāi)機(jī)自啟的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
Linux之crontab定時(shí)執(zhí)行腳本方式
這篇文章主要介紹了Linux之crontab定時(shí)執(zhí)行腳本方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
ollama升級(jí)后局域網(wǎng)無(wú)法訪(fǎng)問(wèn)的解決過(guò)程
文章講述了在升級(jí)ollama到最新版本后,通過(guò)局域網(wǎng)IP無(wú)法外部訪(fǎng)問(wèn)的問(wèn)題,通過(guò)檢查服務(wù)文件并添加監(jiān)聽(tīng)所有網(wǎng)絡(luò)接口的配置,問(wèn)題得到解決2026-01-01
Linux TCP隊(duì)列的實(shí)例解讀,提高網(wǎng)絡(luò)性能和穩(wěn)定性
這篇文章主要介紹了Linux TCP隊(duì)列的實(shí)例解讀,提高網(wǎng)絡(luò)性能和穩(wěn)定性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
Manjaro Linux安裝singularity-container的解決方案
這篇文章主要介紹Singularity容器在Manjaro平臺(tái)的安裝,以及一些常見(jiàn)的使用場(chǎng)景:拉取沙箱制作容器鏡像、遠(yuǎn)程制作容器鏡像以及修改容器鏡像的方法,感興趣的朋友跟隨小編一起看看吧2024-05-05

