ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

一、 禁止root用户登陆
1、修改/etc/pam.d/login文件增加下面一行
auth required pam_succeed_if.so user != root quiet
2、修改/etc/ssh/sshd_config文件
将#PermitRootLogin yes修改为PermitRootLogin no
3、重启sshd服务

systemctl restart sshd

二、 添加运维用户ops和开发用户dev,运维用户可用sudo提权
1、 添加用户ops和dev,并设置密码
#Useradd ops
#useradd dev
#echo password | passwd --stdin ops
#echo password | passwd --stdin dev
2、 给ops用户sudo权限
a.进入超级用户模式。
b.添加文件的写权限。也就是输入命令
#chmod u+w /etc/sudoers
c.编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",输入"i"进入编辑模式找到这一行:“root ALL=(ALL) ALL"在起下面添加"ops ALL=(ALL) ALL”,然后保存退出。
d.撤销文件的写权限。
chmod u-w /etc/sudoers
三、配置用户免密登陆
1、编辑 SSH 配置文件:
a.#在root权限下执行
b.vim /etc/ssh/sshd_config
c.找到一下几句
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
去调上面3行前面的#
d.找到下面1行:
PasswordAuthentication yes
PermitRootLogin yes
修改为:
PasswordAuthentication no
PermitRootLogin no
e.保存后重启SSH服务。
#systemctl restart sshd
2、在windows客户端,xshell或者MobaXterm上操作(以下演示在xshell中的操作)
a.点击工具选择新建用户**生成向导
ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

b.选择RSA,并点击下一步
ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

c. 等待生成公私钥对,点击下一步
ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

d.输入用户**的名称和给**加密的密码,然后点击下一步(这里以空**加密密码演示)
ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

e.复制公钥部分,并保存为文件存档
ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

f.点击关闭
ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

g.进入linux系统,打开所免密登录家目录下,进入.ssh/目录,将f步骤里复制的代码追加在authorized_keys文件里
ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

f.进入%Documents%\NetSarang\SECSH\UserKeys 这个目录下。%Documents% 这个目录就是使用xshell做a~g步骤电脑的文档目录。将私钥文件保存下发送给所需要使用免密登陆的用户。
ssh免密windows免密登陆服务器且禁止root登陆以及sudo提权

Ps:在mobaxterm操作保存bbk后缀的文件,将公钥代码同上g步骤追加到linux系统用户家目录下的authorized_keys文件中。