提要:
一、创建新用户
二、生成免密证书及服务器端配置修改
三、使用证书免密登录
一、创建新用户
1、创建新用户
创建新用户hulk,如下:
[root@localhost ~]# adduser hulk
为新用户配置密码,如下:
[root@localhost ~]# passwd hulk
2、配置sudo
注意:新创建的用户是不能使用sudo命令的,需要修改配置文件,让他拥有sudo权限。
[root@localhost ~]# cat /etc/sudoers
我们需要修改/etc/sudoers配置文件,如下:
[root@localhost ~]vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
# new use hulk
hulk ALL=(ALL) ALL
在root ALL(ALL) ALL 下增加一行,新用户的配置,wq保存退出。
注意如果修改sudoers文件报错,如下图:
可以先查看下sudoer文件是否拥有写权限,如下
[root@localhost ~]# ls -l /etc/sudoers
如果没有写权限,请先授予它可写的权限即可
[root@localhost ~]# chmod -v u+w /etc/sudoers
修改完成后,别忘了再把sudoers权限改回来
[root@localhost ~]# chmod -v u-w /etc/sudoers
完成后,就可以使用新用户登录啦,使用sudo
[root@localhost ~]# sudo cat /etc/passwd
注意:sudo命令会提示输入密码,如果不想每次都输入密码,我们可以将sudoers配置的最后一个ALL改为NOPASSWD:ALL即可。
二、生成免密证书及服务器端配置修改
1、生成用于SSH登录的公钥和私钥(例子为hulk用户)
我们进入.ssh目录,查看
发现目录下生成了2个文件,其中id_rsa为私钥,id_rsa.pub为公钥
2、导入公钥
3、修改SSH配置文件,让它支持使用证书登录(需要root权限)
[root@localhost ~]# vim /etc/ssh/sshd_config
查找RSAAuthentication、StrictModes、PubkeyAuthentication、AuthorizedKeysFile把所在行修改为:
RSAAuthentication yes StrictModes no PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
重启SSH服务
[root@localhost ~]# systemctl restart sshd.service
三、使用证书免密登录
1、Windows客户端配置Xshell使用证书登录
(1)将生成的私钥,保存到本地计算机中
(2)打开Xshell,用户身份验证-->
方法:请选择Public Key
用户名:请输入用户名
用户秘钥,请选择你保存好的私钥导入即可(如下图)
至此,我们就可以免密登录CentOS主机啦!
2、MAC客户端配置登录
对于MAC电脑,不需要额外装什么软件,直接用 ssh -i [私钥文件路径] 服务器IP 就可以免密登录了。
具体操作如下:
1. 打开MAC电脑上的终端窗口。
2. cd ~/.ssh (如果没有 .ssh 文件夹,就 mkdir ~/.ssh )
3. 将 id_rsa 私钥文件 copy 到 ~/.ssh 下,如: ~/.ssh/myserver
3. chmod 700 ~/.ssh
4. chmod 600 ~/.ssh/myserver
5. 可以用 ssh 命令登录了,命令格式如下:ssh -i [私钥文件路径] -p [SSH端口] [登录名]@[服务器IP]
如果SSH端口是默认的 22 ,可以不需要 -p [SSH端口] 。如:
ssh -i ~/.ssh/myserver hulk@[服务器IP]
欢迎大家关注懒也要有正确的方式公众号