linux 禁止 密码 登陆,CentOS设置证书登录并禁止密码登录
CentOS設置證書登錄并禁止密碼登錄
普通用戶登錄時,以往的做法往往是使用賬號密碼登錄,但是這樣的登錄方式風險相當高,使用密鑰登錄能大大降低風險
1. 生成密鑰
ssh 公鑰認證是ssh認證的方式之一。通過公鑰認證可實現ssh免密碼登陸,ssh-keygen 可用來生成ssh公鑰認證所需的公鑰和私鑰文件。使用 ssh-keygen 時,請先進入到 ~/.ssh 目錄,不存在的話,請先創建。并且保證 ~/.ssh 以及所有父目錄的權限不能大于 711。使用 ssh-kengen 會在~/.ssh/目錄下生成兩個文件,不指定文件名和密鑰類型的時候,默認生成的兩個文件是
id_rsa和id_rsa.pub,id_rsa是私鑰文件,id_rsa.pub是公鑰文件。生成ssh key的時候,可以通過 -f 選項指定生成文件的文件名,-C指定備注。ssh-keygen -t rsa -b 4096 -f test -C "test key"
如果沒有指定文件名,會詢問你輸入文件名Generating public/private rsa key pair.
Enter file in which to save the key (/home/huqiu/.ssh/id_rsa):
之后,會詢問你是否需要輸入密碼。輸入密碼之后,以后每次都要輸入密碼。請根據你的安全需要決定是否需要密碼,如果不需要,直接回車Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
為了讓私鑰文件和公鑰文件能夠在認證中起作用,請確保權限正確。
對于.ssh 以及父文件夾,當前用戶用戶一定要有執行權限,其他用戶最多只能有執行權限。
對于公鑰和私鑰文件也是: 當前用戶一定要有執行權限,其他用戶最多只能有執行權限
2. 將公鑰copy到目標機器的~/.ssh目錄下scp ~/.ssh/.pub root@:~/.ssh/.pub
# 例子:
# scp ~/.ssh/nighthawk.pub root@192.168.31.15:~/.ssh/nighthawk.pub
3. 將公鑰設置為該服務器的登錄公鑰cat ~/.ssh/.pub >> ~/.ssh/authorized_keys
# 例子:
# cat ~/.ssh/nighthawk.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
4. 關閉selinuxvim /etc/selinux/config
# 將SELINUX=enforcing改為SELINUX=disabled
5. 禁止密碼登錄,改用私鑰登錄vim /etc/ssh/sshd_config
#禁用root賬戶登錄,如果是用root用戶登錄請開啟
PermitRootLogin yes
# 是否讓 sshd 去檢查用戶家目錄或相關檔案的權限數據,
# 這是為了擔心使用者將某些重要檔案的權限設錯,可能會導致一些問題所致。
# 例如使用者的 ~.ssh/ 權限設錯時,某些特殊情況下會不許用戶登入
StrictModes no
# 是否允許用戶自行使用成對的密鑰系統進行登入行為,僅針對 version 2。
# 至于自制的公鑰數據就放置于用戶家目錄下的 .ssh/authorized_keys 內
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 有了證書登錄了,就禁用密碼登錄吧,安全要緊
PasswordAuthentication no
6. 重啟服務
CentOS7:
systemctl restart sshd
CentOS6:
service sshd restart
這樣一來在計算機持有密鑰的情況下就可以不使用賬號密碼登錄服務器了
總結
以上是生活随笔為你收集整理的linux 禁止 密码 登陆,CentOS设置证书登录并禁止密码登录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dnf时装预览怎么打开_DNF:史上最好
- 下一篇: 电子音乐包括电声乐器和计算机音乐,浅谈电