场景:因为需要回收root管理员权限,禁止root用户远程登录,办公环境只允许普通用户远程登录,且不允许使用密码登录。
一、生成与配置ssh-key
1.使用root管理员权限登录到目标系统。
2.创建一个新的普通用户,和设置密码用于远程登录和执行sudo提权。
useradd username #替换密码passwd和用户名username echo "passwd" |passwd username --stdin
3.授予新用户sudo权限,以便执行特权操作。
查询/etc/sudoers文件查看系统有哪些sudo权限组。
我这里的为wheel组;把新用户加入这个组
usermod -aG wheel username
4.禁用root用户的远程登录,编辑SSH服务器配置文件,通常位于/etc/ssh/sshd_config
sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
5.禁用密码登录,只允许使用密钥进行身份验证。
sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
6.重新加载SSH服务器配置,使更改生效。
systemctl restart sshd
7.使用puttygen生成RSA密钥对。
8.把公钥上传Linux服务器,把公钥内容追加到/home/username/.ssh/authorized_keys
替换username
mkdir -p /home/username/.ssh cat my.pub >> /home/username/.ssh/authorized_keys chmod 600 /home/username/.ssh/authorized_keys chown -R username:username /home/username/.ssh/authorized_keys
二、putty使用SSH私钥登录服务器
三、使用CRTsecure登录服务器
四、使用Xshell登录服务器
Xshell不能直接使用生成的key,需要转换格式: