搜索
缓存时间00 现在时间00 缓存数据 做个命运的智者,错过白天的骄阳,那就期待夜晚的群星。晚安!
查看: 200|回复: 0

一键启用SSH仅密钥登录VPS脚本

[复制链接]
发表于 2024-8-15 15:40:31 | 显示全部楼层 |阅读模式

厌倦了滚动浏览相同的帖子?当您创建帐户后,您将始终回到您离开的地方。使用帐户,不仅可以享受无广告的清爽界面!

您需要 登录 才可以下载或查看,没有账号?注册

×

生成SSH密钥对

打开CMD粘贴下面的命令然后一路回车,然后去桌面打开id_ed25519.pub文件,这里面的就是公钥,公钥后面的注释可以删除,id_ed25519这个文件就是私钥,在你的SSH客户端上用来连接服务器的
img

生成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

执行方式

  1. 在服务器上直接执行:
  • 登录到你的服务器。
  • 使用 nano、vi 等文本编辑器创建并编辑 enable_key_login.sh 文件,粘贴上述脚本。
  • 赋予执行权限:chmod +x enable_key_login.sh。
  • 执行脚本:bash enable_key_login.sh,脚本将自动完成配置和重启SSH服务。
  1. 远程执行:
  • 将脚本上传到文件托管网站,例如 GitHub 或你的静态网站。
  • 使用哪吒探针的计划任务或者利用SSH客户端批量执行命令功能为多台服务器修改配置:
curl -sL http://domain.com/path/to/enable_key_login.sh | bash

替换 https://domain.com/path/to/enable_key_login.sh 为你的实际文件地址。

爱生活,爱奶昔~

Powered by Nyarime. Licensed

GMT+8, 2024-11-22 00:55 , Processed in 0.024762 second(s), 8 queries , Gzip On, Redis On
发帖际遇 ·手机版 ·小黑屋 ·RSS ·奶昔网

登录切换风格
快速回复 返回顶部 返回列表