厌倦了滚动浏览相同的帖子?当您创建帐户后,您将始终回到您离开的地方。使用帐户,不仅可以享受无广告的清爽界面!
您需要 登录 才可以下载或查看,没有账号?注册
×
生成SSH密钥对
打开CMD 粘贴下面的命令然后一路回车,然后去桌面打开id_ed25519.pub 文件,这里面的就是公钥,公钥后面的注释可以删除,id_ed25519 这个文件就是私钥,在你的SSH客户端上用来连接服务器的
生成SSH密钥对命令
ssh-keygen -t ed25519 -f "%USERPROFILE%\Desktop\id_ed25519"
一键启用仅密钥登录脚本
保存为xxx.sh 文件
#!/bin/bash
# 设定公钥变量
PUBLIC_KEY="填入你的公钥"
# 创建.ssh目录并添加公钥到authorized_keys
mkdir -p ~/.ssh
echo $PUBLIC_KEY >> ~/.ssh/authorized_keys
# 设置权限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
# 修改SSH配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup # 备份之前的配置文件
sed -i 's/^PermitRootLogin .*/PermitRootLogin without-password/' /etc/ssh/sshd_config # 修改为ROOT用户仅密钥登录SSH
# sed -i 's/^Port .*/Port 5122/' /etc/ssh/sshd_config # 修改SSH的端口为5122,如需修改可删掉前面的注释,默认不修改
# 重启SSH服务
systemctl restart sshd
执行方式
- 在服务器上直接执行:
- 登录到你的服务器。
- 使用 nano、vi 等文本编辑器创建并编辑 enable_key_login.sh 文件,粘贴上述脚本。
- 赋予执行权限:chmod +x enable_key_login.sh。
- 执行脚本:bash enable_key_login.sh,脚本将自动完成配置和重启SSH服务。
- 远程执行:
- 将脚本上传到文件托管网站,例如 GitHub 或你的静态网站。
- 使用哪吒探针的计划任务或者利用SSH客户端批量执行命令功能为多台服务器修改配置:
curl -sL http://domain.com/path/to/enable_key_login.sh | bash
替换 https://domain.com/path/to/enable_key_login.sh 为你的实际文件地址。
|