Linux服務器環境,創建用戶及添加密鑰登錄,sudo權限等。自己實踐過程中遇到些坑,總結記錄一下。
一、服務器環境
$cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
二、操作步驟
# 切換root sudo su # 新建用戶zhangsan useradd zhangsan # 切換到新用戶 su zhangsan # cd /home/zhangsan # mkdir .ssh # 注意權限要用700 chmod 700 .ssh/ # cd .ssh/ # 建立公鑰文件,密鑰對生成等不做贅述,可用工具很多,如Xshell,MobaXterm,git等都可以 vim authorized_keys # 注意權限要用600 chmod 600 authorized_keys # 回到root exit # 加上sudo權限等,在最后一行添加zhangsan ALL=(ALL) NOPASSWD: ALL vim /etc/sudoers
三、遇到的問題
1,登錄失敗情形1
使用Xshell登錄時提示:
To escape to local shell, press 'Ctrl+Alt+]'.
使用MobaXterm登錄時提示:
Server refused our key
解決方案:
# 檢查原因,查看日志
tail /var/log/secure Sep 10 17:59:54 my-dev sshd[26940]: Authentication refused: bad ownership or modes for file /home/zhangsan/.ssh/authorized_keys Sep 10 18:00:05 my-dev su: pam_unix(su:session): session closed for user zhangsan
# 或者是
Sep 10 17:59:54 my-dev sshd[20572]: Authentication refused: bad ownership or modes for directory /home/zhangsan/.ssh Sep 10 18:00:05 my-dev su: pam_unix(su:session): session closed for user zhangsan
可以看到明確的原因是權限設置不對,應將.ssh設為700,authorized_keys設為600。
2,登錄失敗情形2
使用Xshell登錄時提示:
所選的用戶密鑰未在遠程主機上注冊。請再試一次。
使用MobaXterm登錄時提示(與情形1相同):
Server refused our key
解決方案:
經過排查后,發現是公鑰編輯錯誤導致的。
公鑰格式為
ssh-rsa AAAAB3NzaC1yc2E...
復制成了
sh-rsa AAAAB3NzaC1yc2E
少了一個s,應重新編輯為正確的公鑰。
cat authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAzOPpzzdgN7pKcE9WdaJSXrsfMeMAVHZJPFePNZc/e36klzTe33uTEY5Df0/+Vi5SODv/ADU1qj4I1MuuXCHufEcGyhjrbOILVaGUANneXhrWWnpV2P/nI4Dc5O2Z3AUoR75qlzIo+7bk7/ddng+PWT4qm+5QiA1nK6z326l3TpynhwKUe276bPjG/XTqIYo7GQ2q0am/+4r1PSLe3FJbrYiM51WYmDKCHNzV+afuoYpE2BXe/o96SCC4L3crbQyB96TkRNakaVjw6o4hO0Dpe51xzl5lImYSjxVMYdlb1RlJblwI5pcQ5hSB2j8vQmfjLwwcUFbBmIJKeZUxvjA29w== zhangsan
四、其它補充
用戶刪除:
userdel -r zhangsan