搜索
缓存时间00 现在时间00 缓存数据 喜欢你每天的一句晚安,那比任何甜言蜜语听起来都幸福。
查看: 62|回复: 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 为你的实际文件地址。

爱生活,爱奶昔~
English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

Powered by Nyarime.

GMT+8, 2024-9-20 00:38 , Processed in 0.026539 second(s), 18 queries , Gzip On, Redis On
发帖际遇·手机版·小黑屋·RSS·奶昔网 |网站地图

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