為了更高等級的伺服器安全,一般情況下我們都不讓伺服器使用賬號密碼來登入,下面我們來看一下怎麼樣使用私鑰來免密登入。
#新增使用者
登入伺服器後建立使用者,如:
adduser testuser
#設定許可權
如果需要給該使用者root許可權,則可將使用者加入到sudoers中:
chmod -v u+w /etc/sudoers 將檔案設定為可寫
在## allow root to run any commands anywhere 行中新增
testuser all=(all) nopasswd: all
chmod -v u-w /etc/sudoers 將檔案改為唯讀
#生成密碼
切換使用者到剛才新建立的使用者上:
su testuser
ssh-keygen -t rsa
使用預設的生成金鑰位置
設定金鑰相應的密碼
輸入密碼後金鑰將會生成儲存在/home/testuser/.ssh/目錄下
ll
id_rsa.pub 公鑰,將改名後儲存在伺服器端
id_rsa 私鑰,將用來在客戶端裝置上用來做為登入憑證
mv id_rsa.pub authorized_keys 將公鑰改名
#配置伺服器端免密登入
vi /etc/ssh/sshd_config
修改或新增以下內容:
rsaauthentication yes
strictmodes no.
(這個可選)
pubkeyauthentication yes
authorizedkeysfile .ssh/authorized_keys
如果想禁止root登入或是禁止賬號密碼登入可以做以下設定:
permitrootlogin yes
passwordauthentication yes
設定完成後重啟sshd服務:
systemctl restart sshd.service
在客戶端(mac os為例)使用終端這樣登入:
ssh -i /users/***/keys/id_rsa [email protected]
按提示輸入私鑰的密碼即可登入成功,為避免重啟後需要再次輸入私鑰密碼請參照本人的另外一篇文章。 Centos ssh 免密登入
主機a 192.168.1.200 主機b 192.168.1.201 1 在a主機下生成公鑰 私鑰對。192.168.1.200 root 200 ssh keygen t rsa 注 t表示key的型別,rsa表示key型別 p表示密碼,p 就表示空密碼,這裡不需要輸入密碼,輸入密碼的話ssh時...
centos ssh免密登入 多台互相免密登入
假定操作的機器為crawl01,需要免密登入的機器為crawl02,crawl03.在crawl01上做如下操作 假定使用者crawl登入的crawl01,其它機器的登陸使用者也是crawl 1.生成金鑰 1 進入到 home crawl ssh目錄下 沒有.ssh則新建 2 輸入ssh keyge...
CentOS SSH免密碼登入詳解
在網上看到很多關於ssh免密登入的文章,但還是有部分同學在具體操作過程中出現問題,現在按照實際步驟一步一步進行說明 前置說明 假設現有三颱機器,機器a b c,其中機器a需要ssh免密登入到其他機器 1 首先修改ssh配置檔案,機器a b c均需要進行修改 首先修改機器a sudo vi etc s...