Linux服务器环境,创建用户及添加密钥登录,sudo权限等
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