實現root賬戶ssh配私鑰登錄遠程主機(CentOS 7.6)
增加新用戶
在root賬戶下
增加用戶:useradd admin
設置密碼:passwd admin
增加root權限:visudo
進入文本後找到root ALL=(ALL) ALL,另起一行,加入admin ALL=(ALL) NOPASSWD:ALL
su admin
切換到新用戶 再使用sudo su -
切換回root,說明權限正常,進行下一步
切換到root,關閉root登錄
sudo su -
vim /etc/ssh/sshd_config
找到#PermitRootLogin yes去掉#把yes改爲no
systemctl restart sshd
重啓服務並生效
切換到新用戶,添加公鑰
su admin
cd /home/admin
回到新用戶根目錄下
sudo rm -rf /home/admin/.ssh
確保之前添加失敗的文件夾及文件已被刪掉
mkdir .ssh
cd .ssh
vim authorized_keys
三次命令分開執行,切記不要用vim .ssh/authorized_keys
,這樣權限會出問題!!
authorized_keys中粘入公鑰格式:ssh-rsa AAAAB3N…== skey_508820
執行完這一步就可以私鑰訪問主機了,如果不行就加權限試試,或者就重來一遍吧,哈哈!!
chmod 700 /home/admin/.ssh
chmod 644 /home/admin/.ssh/authorized_keys
這套非root用戶添加公鑰的SOP,填了不少坑,請認真執行,親測百分百有效!!!期間參考過如下兩篇文章:
拒絕ssh遠程暴力破解
這篇文章的方法三是個坑,被坑了好久才發現是少了添加公鑰的步驟,接着又遇到了權限坑!!
Putty server refused our key的三種原因和解決方法
這篇文章的第一段說到了關鍵,添加公鑰要注意權限問題,於是我摸索出了最簡單的添加步驟如上!!