Linux安全之SSH 密鑰創建及密鑰登錄,禁止密碼登陸
//參考原文鏈接 他們有圖哦
https://blog.csdn.net/nahancy/article/details/79059135
http://www.runoob.com/w3cnote/set-ssh-login-key.html
首先進入Linux系統的用戶目錄下的.ssh目錄下,root用戶是/root/.ssh,普通用戶是/home/您的用戶名/.ssh,我們以root用戶為例:
cd /root/.ssh
執行ssh-keygen命令創建密鑰對,
ssh-keygen -t rsa -b 4096
執行密鑰生成命令,基本上是一路回車既可以了,但是需要註意的是:執行命令的過程中是會提示呢輸入密鑰的密碼的(如下圖中紅色箭頭處,輸入兩次相同的,即是又一次確認密碼),不需要密碼直接回車就行。
密鑰生成後會在當前目錄下多出兩個文件,id_rsa和id_rsa.pub,其中id_rsa是私鑰(敲黑板:這個很重要,不能外泄),id_rsa.pub這個是公鑰
執行ls看看目錄下是否有authorized_keys文件,沒有的話則執行以下命令創建:
touch authorized_keys
有就不用管
執行成功會創建空authorized_keys文件,授予600權限(註意:此處權限必須是600):
chmod 600 /root/.ssh/authorized_keys
如果已經有了authorized_keys文件,這直接執行以下的密鑰追加工作。
將上面生成的公鑰id_rsa.pub追加到authorized_keys文件中:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
如此便完成了公鑰的安裝。為了確保連接成功,請保證以下文件權限正確
chmod 700 ~/.ssh
設置 SSH,打開密鑰登錄功能
編輯 /etc/ssh/sshd_config 文件,進行如下設置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,請留意 root 用戶能否通過 SSH 登錄:
PermitRootLogin yes
當你完成全部設置,並以密鑰方式登錄成功後,再禁用密碼登錄:
PasswordAuthentication no
最後,重啟 SSH 服務:
service sshd restart
Linux安全之SSH 密鑰創建及密鑰登錄,禁止密碼登陸