1.新建用户
[fuyonghai@master1 ~]$ sudo useradd fyh
2.为用户设置密码
[fuyonghai@master1 ~]$ sudo passwd fyh
3.将用户添加到提权文件配置中
[fuyonghai@master1 ~]$ sudo visudo
Allow root to run any commands anywhere #表示允许root(只要配置上的其他用户也可以)用户在任何地方可以执行任何命令
root ALL=(ALL) ALL
fyh ALL=(ALL) ALL
4.将用户添加到提权免输root密码配置中,注意带%号表示组,不带表示具体用户,建议精确到用户
[fuyonghai@master1 ~]$ sudo visudo
Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
fyh ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
5.使用新建用户创建文件夹/.ssh并设置权限为700,并创建文件/.ssh/authorized_keys 并设置权限为600
su - fyh
mkdir ~/.ssh && chmod 700 .ssh/
cd ~/.ssh
touch authorized_keys && chmod 600 authorized_keys
vim authorized_keys
6.从linux或者windows连接端生成公私钥,并将公钥信息完全粘到新用户的~/.ssh/authorized_keys 文件中
使用工具命令生成
7.设置配置文件 sudo vim /etc/ssh/sshd_config
PermitRootLogin no #将yes改为no 表示禁止root用户远程登录,无论是密码还是公钥都将无法登录
PasswordAuthentication no #禁止采用密码登录
PubkeyAuthentication yes #表示开启公钥登录
AuthorizedKeysFile .ssh/authorized_keys #公钥配置文件路径
8.配置后重启ssh
sudo systemctl restart sshd
9.进行登录测试
登录测试,采用xshell或其他工具都可以
如何是linux系统则用如下命令,其中 -i 表示指定私钥登录,
ssh -i ~/.ssh/id_rsa fyh@192.168.10.91